原创 【基礎知識】二叉樹、廣義表、哈弗曼編碼

二叉樹 完全二叉樹: 不需要存地址. ( 算法優化常用完全二叉樹: 記錄式改爲計算式 . 計算式耗時, 但省空間) 左子樹: 2 * i 右子樹: 2 * i + 1 滿二叉樹: 沒有度爲1的結點. 要麼是0, 要麼是2.

原创 【LeetCode】206.反轉鏈表

題目: 反轉一個單鏈表。 示例: 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1->NULL 進階: 你可以迭代或遞歸地反轉鏈表。你能否用兩種方法解決這道題? 題解: 迭代思路(一):用虛擬頭結點

原创 【基礎知識】鏈表

鏈表分爲程序內部和內存內部 程序內部 ________________________________ head |內存內部 1 add 2 add 5 add | l->口-> | 口口->

原创 【基礎知識】隊列

特點:先進先出 需要兩個指針, 分別指向頭和尾 ( head & tail ) 結構定義: 隊首標記爲0, 隊尾標記爲-1 給隊列分配內存空間 (初始化類似於順序表) int *data//數據區 int head, tail, l

原创 【基礎知識】數據結構導論

程序 = 算法 + 數據結構 數據結構 = 結構定義(結構體) + 結構操作 數據結構本質: 做數據的表示 從本質上來說, 存儲整型的整數類型int就是一類數據結構, 指針類型也是一類數據結構. int可以做四則運算, 指針不行.所

原创 【基礎知識】順序表

順序表可以理解爲一種特殊的數組 順序表有一片連續的存儲區, 他可以存儲任意類型的結構 結構定義: 1. size : 順序表的大小(容量, 也可以說一共有幾個格子) 2. length : 標記順序表現在共有的元素個數 3

原创 【LeetCode】19.刪除鏈表的倒數第N個節點

題目:給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,鏈表變爲 1->2->3->5. 說明: 給定的 n 保證

原创 TCP的相關題目

關於TCP與UDP 【問題1】TCP與UDP的區別: TCP UDP 面向連接,全雙工可靠信道 無連接,不可靠信道 面向字節流 面向報文 點對點 一對一,多對多,一對多,多對一 開銷大 開銷少 有擁塞控制