原创 【數據結構】Java中二叉樹常見問題代碼彙總

目錄1.二叉樹前序遞歸與非遞歸遍歷2.二叉樹中序遞歸與非遞歸遍歷3.二叉樹後序遞歸與非遞歸遍歷4.二叉樹的層序遍歷5.檢查兩棵樹是否相同6.檢查一棵樹是否爲另一棵樹的子樹7.求二叉樹的最大深度8.判斷一顆二叉樹是否是平衡二叉樹9.

原创 【數據結構】Java用兩個棧模擬實現隊列 + 用兩個隊列模擬實現棧

1.用兩個棧來實現一個隊列 要求: 完成隊列的Push和Pop操作。( 隊列中的元素爲int類型) 對於這個問題,《劍指offer》上有一張圖很形象: 在圖中可以看出它用stack1來模擬入隊列,用stack2來模擬出隊列。然後

原创 【數據結構】Java中的樹的基本概念以及二叉樹的性質

目錄樹的基本概念1.定義:2.特點3.基本術語二叉樹1.二叉樹的特點2.兩種特殊的二叉樹3.二叉樹的性質 樹的基本概念 1.定義: 樹是一種非線性的數據結構,它是由n(n>=0)個有限結點組成一個具有層次關係的集合。把它叫做樹是因

原创 【數據結構】Java設計一個循環隊列

題目鏈接:LeetCode 622 循環隊列是一種線性數據結構,其操作表現基於 FIFO(先進先出)原則並且隊尾被連接在隊首之後以形成一個循環, 它也被稱爲“環形緩衝器”。 循環隊列的一個好處是我們可以利用這個隊列之前用過的

原创 【數據結構】棧的經典應用

點擊查看關於棧的底層實現以及常用方法 由於棧先進後出的特性,所以很多問題藉助棧來處理會變得簡單很多。 1.括號匹配問題 給定一個只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判斷字符串是否有效。 注意:

原创 【數據結構】Java中棧的常用方法及模擬實現

目錄概述Stack用數組模擬實現一個棧 概述 棧是一種特殊的線性表,其只允許在固定的一端進行插入和刪除元素的操作。進行數據插入和刪除操作的一端稱爲棧頂,另一端稱則爲棧底。棧中的數據元素遵守後進先出LIFO(Last In Fir

原创 【數據結構】Java中隊列的常用方法及模擬實現

概述 隊列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,隊列是一種操作受限制的線性表。隊列具有先進先出FIFO(FirstIn First Out)

原创 JavaSE回顧(二):程序邏輯控制

在Java中程序有三種結構,分別是順序結構、分支結構、循環結構。 一、順序結構 順序結構顧名思義就是:按照代碼的先後順序,依次執行,程序中大多數的代碼都是這樣執行的。簡單來說,寫在前面的先執行,寫在後面的後執行。順序結構是程序中最

原创 Java實現模擬三次輸密碼的場景

最多有三次機會輸入密碼。密碼正確,提示“登錄成功”;密碼錯誤, 提示重新輸 入。三次均錯,則提示退出程序。代碼如下: import java.util.Scanner; public class Test15{ public s

原创 Java中數組知識小結

一丶數組的基礎知識 1. 什麼是數組? 數組就是一個相同類型數據的集合,在內存上也是連續的。 2.數組的初始化 靜態初始化 數據類型[ ] 數組名稱 = {初始化數據} 如:int[ ] array={1,2,3,4,5}; 動