原创 112 二叉樹路徑總和

112 二叉樹路徑總和 給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定如下二叉樹,以及目標和 sum = 22,

原创 二叉樹的前序、中序、後序遍歷(遞歸)和 層序遍歷(C++實現)

1. 二叉樹的前序遍歷 根 左 右 因爲先訪問根節點,所以直接將root的val放入答案(ans)容器內。 然後遍歷左子樹,現在以root的左子樹爲root進入遞歸。 /** * Definition for a binar

原创 探索二叉樹

探索二叉樹 樹 是一種經常用到的數據結構,用來模擬具有樹狀結構性質的數據集合。 樹裏的每一個節點有一個根植和一個包含所有子節點的列表。從圖的觀點來看,樹也可視爲一個擁有N 個節點和N-1 條邊的一個有向無環圖。 二叉樹是一種更爲典

原创 哈希表——hashset / hashmap

哈希表 哈希表是一種使用哈希函數組織數據,以支持快速插入和搜索的數據結構。 有兩種不同類型的哈希表:哈希集合和哈希映射。 哈希集合是集合數據結構的實現之一,用於存儲非重複值。 哈希映射是映射 數據結構的實現之一,用於存儲(key

原创 數組和字符串簡介

一 數組簡介 數組是一種基本的數據結構,用於按順序存儲元素的集合。但是元素可以隨機存取,因爲數組中的每個元素都可以通過數組索引來識別。 #include <iostream> int main() { // 1. Ini

原创 隊列——先入先出的數據結構(FIFO)

隊列是典型的 FIFO 數據結構。 插入(insert)操作也稱作入隊(enqueue),新元素始終被添加在隊列的末尾。 刪除(delete)操作也被稱爲出隊(dequeue)。 你只能移除第一個元素。 隊列的實現 爲了實現隊

原创 棧——後入先出的數據結構(LIFO)

在 LIFO 數據結構中,將首先處理添加到隊列中的最新元素。 與隊列不同,棧是一個 LIFO 數據結構。通常,插入操作在棧中被稱作入棧 push 。與隊列類似,總是在堆棧的末尾添加一個新元素。但是,刪除操作,退棧 pop ,將始終

原创 計算機網絡原理(14)—— 動態主機配置協議(DHCP)、網絡地址轉換(NAT)、互聯網控制報文協議(ICMP)、IPv6

一、DHCP協議 一個主機如何獲得IP地址 硬編碼:靜態配置 動態主機配置協議(DHCP,Dynamic Host ConfigurationProtocol) 1. 動態主機配置協議(DHCP,Dynamic Host Co

原创 計算機網絡原理(16)—— 數據鏈路層服務、差錯編碼、多路訪問控制(MAC)協議

一、術語 主機和路由器:結點(nodes) 連接相鄰結點的通信信道:鏈路 (links) 有線鏈路(wired links) 無線鏈路(wireless links) 局域網(LANs) 鏈路層數據分組:幀,封裝網絡層數據

原创 計算機網絡原理(10)——TCP協議

一、TCP概述 點對點:一個發送方,一個接收方。 可靠的、按序的字節流 流水線機制:TCP擁塞控制和流量控制設置窗口尺寸。 發送方/接收方緩存 全雙工(full-duplex):同一連接中能夠傳輸雙向數據流。

原创 計算機網絡原理(13)—— IPv4協議、無類域間路由(CIDR,Classless InterDomain Routing)與路由聚集

一、網絡層主要功能 1. 路由協議 路徑選擇 RIP,OSPF,BGP 2. IP協議 尋址規約(conventions) 數據報(分組)格式 分組處理規約 3. ICMP協議(互聯網控制報告) 差錯報告 路由器“信令”

原创 SQL常用語句(面試必備)

SQL概念和標準SQL語言 SQL英文全稱是Structured Query Language,即結構化查詢語言 SQL是關係數據庫操作的國際標準語言 SQL的功能 產生彙總統計表 從表和視圖中檢索數據 合併表和視圖中的數

原创 操作系統(11)—— 死鎖與進程間通信

一、系統模型 1、資源概念 資源一旦是被使用狀態,則其他的進程就不應該運用這個資源,有互斥性,如果沒有互斥性,就不會產生死鎖。 進程使用資源的有限的,資源恢復到空閒的情況。 2. 可重複使用的資源 在一個時間只能一個進程使用

原创 計算機網絡原理(12)—— 網絡層服務、數據報網絡/虛電路網絡

網絡層 從發送主機向接收主機傳送數據段(segment) 發送主機:將數據段封裝到數據報(datagram)中 接收主機:向傳輸層交付數據段(segment) 每個主機和路由器都運行網絡層協議 路由器檢驗所有穿越它的IP數

原创 微信小程序簡介、文件類型與目錄結構、實例

一、微信小程序簡介 1. 小程序的特點 簡單、用完即走 低頻 性能要求不高 2. 小程序定義 不需要下載安裝(安裝包<1M) 用戶用完即走,不用關心是否安裝太多應用 應用無處不在,隨時使用(連接人與服務) APP:體驗差、