資料結構學習(二)
1樹與樹的表示
1. 1樹的一些基本術語
結點的度(Degree): 節點的子樹個數 樹的度:樹的所有結點中最大的度數 葉結點(Leaf):度為0的結點 父結點(Parent):有子樹的結點是其子樹的根結點的父結點 子結點(Chile):若A結點是B結點的父結點,則稱B結點是A結點的子結點 兄弟結點(Sibling):具有同一父結點的各結點彼此是兄弟結點 路徑和路徑長度:從結點n1到nk的路徑為一個結點序列n1,n2,…,nk,ni是ni+1的父結點。路徑所包含邊的個數為路徑的長度。 祖先結點(Ancestor):沿樹根到某一節點路徑上的所有結點都是這個節點的祖先結點 子孫結點(Descendant):某一節點的子樹節點中的所有結點是這個結點的子孫 結點的層次(Level):規定根結點在1層,其他任一結點的層數是其父結點的層數加1 樹的深度(Depth):樹中所有節點中的最大層次是這顆樹的深度
1.2 樹的表示
兒子兄弟表示方法 : 一個結點有兩個指標,一個指向第一個兒子結點,一個指向下一個兄弟結點
相關推薦
資料結構學習(二)
1樹與樹的表示 1. 1樹的一些基本術語 結點的度(Degree): 節點的子樹個數 樹的度:樹的所有結點中最大的度數 葉結點(Leaf):度為0的結點 父結點(Parent):有子樹的結點是其子樹的根結點的父結點 子結點(Chile):若A結點是B結點的父結
資料結構實現(二):陣列棧(C++版)
資料結構實現(二):陣列棧(C++版) 1. 概念及基本框架 2. 基本操作程式實現 2.1 入棧操作 2.2 出棧操作 2.3 查詢操作 2.4 其他操作 3. 演算法複雜度分析 3.1 入棧
資料結構學習(一):高精度演算法
高精度演算法,屬於處理大數字的數學計算方法。在一般的科學計算中,會經常算到小數點後幾百位或者更多,當然也可能是幾千億幾百億的大數字。一般這類數字我們統稱為高精度數,高精度演算法是用計算機對於超大資料的一種模擬加,減,乘,除,乘方,階乘,開方等運算。對於非常龐大的數字無法在計算機中正常儲存
資料結構筆記(二)
typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList Status GetElem L(LinkList L,int i,ElemType &e){ p=L->ne
資料結構筆記(二)——線性表(Linear List)
個人學習筆記,不喜勿噴。 一開始寫程式碼時糾結於在C++中是用struct還是用class。 C++可以使用struct和class,並且C++中與C中的struct不一樣,它更像class。 用struct實現資料結構,class用於物件。 線性表:由同類型
資料結構排序(二)
插入排序:直接插入排序,希爾排序 希爾排序:(又稱縮小增量排序法) 解釋說明: 穩定性:希爾排序是不穩定的 ASL:希爾排序提高了排序速度,時間複雜度: T(n) = O(n^1.5) 程式碼: #include <stdio.h> void S
資料結構::迷宮(二)--棧的一個應用(求迷宮最短路徑)
上篇文章我們知道求解迷宮通路的方法,但是一個迷宮有時是不止一條出路,在這些出路中,我們如何找到最短的那一條,這就是我今天要說的迷宮最短路徑問題。 (此處使用的圖): 【先來分析有什麼解決方案:】 1、方法一:我們如果採用上章中遞迴的方式,將所走的路用2標記起來
redis學習(二) redis資料結構介紹以及常用命令
redis資料結構介紹 我們已經知道redis是一個基於key-value資料儲存的資料結構資料庫,這裡的key指的是string型別,而對應的value則可以是多樣的資料結構。其中包括下面五種型別: 1.string 字串 string字串型別是redis最基礎的資料儲存型別。
資料結構學習之二叉樹(面試易考題整理)
【摘要】電腦科學中,二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作“左子樹”(left subtree)和“右子樹”(right subtree)。二叉樹常被用於實現二叉查詢樹和二叉堆。二叉樹是遞迴定義的,因此,與二叉樹有關的題目基本都可以用遞迴思想解決
ext2文件系統學習(二)—— 目錄磁盤結構
echo free 文件格式 htm file 目錄結構 bitmap 點號 name 創建鏡像、mount等操作和上一篇一樣,測試目錄結構如下: 一些文件系統信息如下: Block size: 1024 Inodes per group: 1
Linux文件系統學習(二)之重要數據結構(1)
class targe html evel 系統結構 會有 集合 spec lan 轉載自:https://blog.csdn.net/wudongxu/article/details/6436894 《Linux內核設計與實現》 http://www.ibm.com/
PE檔案格式學習(二):總體結構
1.概述 PE檔案分為幾個部分,分別是: DOS頭 DOS Stub NT頭(PE頭) 檔案頭 可選頭 區段頭(一個數組,每個元素都是一個結構體,稱之為IMAGE_SECTION_HEADER) .text .rdata .data .rs
MySQL學習(二)資料型別
擷取書中內容留作學習。。。。 1、整數型別 2、浮點數與定點數型別 3、日期時間型別 向資料庫中插入當前系統時間:CURRENT_TIME或者NOW() 4、文字字串型別 MySQL列舉型別:create table test(enm E
verilog學習(二)語法之資料基礎篇
一、關於模組 Verilog 的基本設計單元是“模組” (block)。一個模組是由兩部分組 成的 ,一部分描述接 口,另一部分描述邏輯功能 ,即定義輸入是如何影響輸出的 。  
20172310 2017-2018《程式設計與資料結構》(下)第八週學習總結
20172310 2017-2018《程式設計與資料結構》(下)第八週學習總結 教材學習內容總結 1.1、堆 堆(heap):是具有兩個附加屬性的二叉樹。一是堆是一顆完全樹(如果一棵二叉樹是平衡的,即所有葉子都位於h或h-1層,其中h為log2n, 且n是樹中的元素數目,且所有h層中的葉子都位於該
20172310 2017-2018《程式設計與資料結構》(下)第五週學習總結
20172310 2017-2018《程式設計與資料結構》(下)第五週學習總結 教材學習內容總結 第九章_排序與查詢 學習幾種排序演算法,並討論這些演算法的複雜度 9.1查詢(線性查詢與二分查詢演算法) 查詢(searching) 是在某個專案組中尋找某一指定目標元素, 或者確定該組中並不存在
20172310《程式設計與資料結構》(下)實驗二:二叉樹實驗報告
20172310《程式設計與資料結構》(下)實驗二:二叉樹實驗報告 報告封面 課程:《軟體結構與資料結構》 班級: 1723 姓名: 仇夏 學號:20172310 實驗教師:王志強老師 實驗日期:2018年11月3日-2018年11月9日 必修選修: 必修 實驗二-1-
20172310 2017-2018《程式設計與資料結構》(下)第九周學習總結
20172310 2017-2018《程式設計與資料結構》(下)第九周學習總結 教材學習內容總結 這一章又要學習一個新的體系了——圖 無向圖、有向圖和網路 接下來的例子都是使用這兩個圖 一些共同的基礎概念: 頂點:結點,一般用名字和標籤來表示,如A、B等。 邊:節點之間的連線,用結點對
python資料分析新手入門課程學習——(二)探索分析與視覺化(來源:慕課網)
一,單因子與對比分析視覺化 資料 import pandas as pd df = pd.read_csv('./HR.csv') #檢視前十條資料 df.head(10) 以下為顯示的結果 我們可以看出: 第一個屬性satisf
vue 雙向資料繫結的實現學習(二)- 監聽器的實現
廢話:上一篇https://www.cnblogs.com/adouwt/p/9928278.html 提到了vue實現的基本實現原理:Object.defineProperty() -資料劫持 和 釋出訂閱者模式(觀察者),下面講的就是資料劫持在程式碼中的具體實現。 1.先看如何呼