原创 BST刪除操作

BST的刪除操作向來被認爲難度很大,因爲它不同於插入,定位到了那個該插入的位置選擇左邊/右邊進行插入即可,而刪除操作則需要分成以下三種情況進行討論,刪除難度從上到下依次遞增: case1 葉子結點 case2 只有左子樹/只有右

原创 樹的遍歷方式 --- 前序遍歷

前言 先給大家上一段代碼。這段代碼出自 LeetCode 144.Binary Tree Preorder Traversal 是二叉樹的前序遍歷的遞歸代碼寫法。 /** * Definition for a binary tr

原创 LeetCode - 19 - 刪除鏈表的倒數第N個結點

過去刷LeetCode題推動那個工人指針跑的循環大多數都是while循環。因爲我們在C語言剛接觸循環這個概念的時候就學過,for一般都用於作用的結構大小較爲明顯,循環次數確定的場景下。而while之所以稱爲條件循環就是因爲其沒有固

原创 LeetCode - 234 - 迴文鏈表 + 9 - 迴文數(爲234題打開思路)

迴文是一個編程中經常出現的概念,大家可能在初期學習C語言時就有判斷迴文的題目出現了8!所以倒着讀和正着讀一模一樣的便是迴文。由此引申出許多概念:迴文數,迴文字符串。這裏又在鏈表上做文章,大家不要怕,微笑着面對這類題。於是在今天講解

原创 讀書筆記 --- 數據結構與算法分析C語言描述 --- 12.22 --- Chapter4 樹 page70 - 76

4.2 二叉樹 二叉樹每個結點至多有兩個兒子,即可以擁有(0,1,2)個兒子。由此二叉樹的平均深度要比N小得多,爲O(sqrt(N)),再對於特殊類型的二叉樹:二叉查找樹(Binary Search Tree)深度平均值爲O(lo

原创 暢談鏈表---初級篇2---談談鏈表的頭指針與頭結點

閱讀此篇請先關注上一篇博文—暢談鏈表—初級篇1—談談鏈表結構本身https://blog.csdn.net/qq_44406656/article/details/99010348 其中是我對鏈表結構本身提供了自己的架構,將鏈表形