原创 數據結構與算法(C語言) | 樹和二叉樹 (二)二叉樹

二叉樹的定義: 二叉樹(Binary Tree)是n(n>=0)個結點的有限集合,該集合或者爲空集(空二叉樹),或者由一個根結點和兩棵互不相交的、分別稱爲根結點的左子樹和右子樹的二叉樹組成。 二叉樹與樹的區別:     二叉樹不是樹的特

原创 數據結構與算法(C語言) | 線性表(順序存儲、鏈式存儲)

   線性表是最常用最簡單的線性結構      線性結構具有以下基本特徵:    線性結構是一個數據元素的有序(次序)集(處理元素有限)。若該集合非空,則 1)必存在唯一的一個“第一元素”; 2)必存在唯一的一個“最後元素”; 3)除第一

原创 數據結構與算法(C語言) | 棧和隊列——棧

棧是一種重要的線性結構,通常稱,棧和隊列是限定插入和刪除只能在表的“端點”進行的線性表。(後進先出) –棧的元素必須“後進先出”。 –棧的操作只能在這個線性表的表尾進行。 –注:對於棧來說,這個表尾稱爲棧的棧頂(top),相應的表頭稱爲棧

原创 數據結構與算法(C語言) | 樹和二叉樹 (三)二叉樹的遍歷和線索二叉樹

                                                       二叉樹的遍歷   “遍歷”是任何類型均有的操作,對線性結構而言,只有一條搜索路徑(因爲每個結點均只有一個後繼),故不需要另加討論

原创 數據結構與算法(C語言) | 二叉排序樹

二叉排序樹的定義—— 二叉排序樹 ( Binary Sort Tree) 或者爲空;或者是具有如下特性的二叉樹: (1)若根的左子樹不空,則左子樹上所有結點的關鍵字均小於根結點的關鍵字; (2)若根的右子樹不空,則右子樹上所有結點的關鍵字

原创 數據結構與算法(C語言) | 樹之間的轉化及赫夫曼編碼

                                                                         森林與二叉樹的轉換     樹與二叉樹之間存在着必然聯繫——任意給定一棵樹,可以找到唯一一棵

原创 數據結構與算法(C語言) | 圖的遍歷及最小生成樹問題

                                                                                       圖的遍歷 從圖中某個頂點出發系統地訪問圖中所有頂點,使得每個頂點

原创 藍橋杯算法特訓 | 數學知識的運用 |未完待續

本節課的主要內容:數學知識的運用    1)並非數學競賽    2)進制問題及其巧妙運用    3)整數與整除問題    4)歐幾里得擴展定理    5)有理數表示,大數問題題1:地產大亨Q先生臨終的遺願是:拿出100萬元給X社區的居民抽

原创 數據結構與算法(C語言) | 樹和二叉樹(一)樹的基本定義及基本術語

                                            一對多的數據結構:樹、   樹(Tree)是n(n>=0)個結點(數據元素)的有限集。在任意一棵非空樹中: –有且僅有一個特定的稱爲根(Root)的結

原创 數據結構與算法(C語言) | 拓撲排序、關鍵路徑

拓撲排序 一個無環的有向圖稱爲無環圖(Directed Acyclic Graph),簡稱DAG圖。 在一個表示工程的有向圖中,用頂點表示活動,用弧表示活動之間的優先關係,這樣的有向圖爲頂點表示活動的網,我們稱之爲AOV網(Active

原创 數據結構與算法(C語言) | 字符串及KMP算法

字符串的存儲結構 字符串的存儲結構與線性表相同,也分順序存儲結構和鏈式存儲結構。 字符串的順序存儲結構是用一組地址連續的存儲單元來存儲串中的字符序列的。   BF算法——Brute Force 屬於樸素的模式匹配算法(效率低下): –有兩

原创 數據結構與算法(C語言) | 棧和隊列——隊列

                                                                隊列  •與棧相反,隊列是一種先進先出(First In First Out, FIFO)的線性表。只允許在表

原创 LeetCode刷題 | NO.002兩數相加

原題: You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse