筆記 持續更新

2021-10-07 02:00:10 字數 1212 閱讀 1002

資料結構:

棧、佇列、鍊錶、陣列、雜湊表、堆、二分查詢樹

棧:先進後出

佇列:先進先出

鍊錶:新增和刪除方便,訪問比較費時間

陣列:訪問比較方便,刪除和新增比較費時間

雜湊表:由key和value組成資料

堆:一種圖的樹形結構,被用於優先佇列,可以自由新增資料,但取出資料時要從最小值開按順序取出

二分查詢樹:是一種資料結構,採用了圖的樹形結構,資料儲存於二叉查詢樹的各個結點中

排序:氣泡排序:從序列右邊開始比較相鄰兩個數字的大小,在根據結果交換數字。-時間複雜度o(n²)

選擇排序:從待排序的資料中尋找最小值,將其與序列最左邊的數字進行交換-時間複雜度o(n²)

插入排序:是一種從序列左端開始依次對資料進行排序的演算法。在排序過程中,左側的資料陸續歸位,而右側留下的就是還未被排序的資料。插入排序的思路就是從右側的未排序區域內取出乙個資料,然後將它插入到已排序區域內合適的位置上。時間複雜度o(n²)

堆排序:利用堆得特性進行排序,在對當中儲存資料,並按照降序來構建堆。降序堆,根節點就是最大值,使用只需要倒序取出即可。時間複雜度o(nlogn)

歸併排序:歸併排序演算法會把序列分成長度相同的兩個子串行,當無法繼續往下分時(也就是每個子串行中只有乙個資料時),就對子序列進行歸併。歸併指的是把兩個排好序的子串行合併成乙個有序序列。該操作會一直重複執行,直到所有子串行都歸併為乙個整體為止。——不停的分割資料直到單個資料取出,然後比較各個資料的大小,和必成乙個陣列,然後再對比陣列的各個序號位的大小,合併成乙個,然後重複執行直到完成排序。時間複雜度o(nlogn)

快速排序:快速排序演算法首先會在序列中隨機選擇乙個基準值(pivot),然後將除了基準值以外的數分為「比基準值小的數」和「比基準值大的數」這兩個類別,再將其排列成以下形式。——隨機選取乙個數作為基準數,然後把陣列進行對比,分為比基準樹小的左邊和比基準數大的右邊,然後再在左右兩邊選取基準數,再次排序,直到排好為止。時間複雜度o(nlogn)

查詢:線性查詢:即便資料沒有按順序儲存,也可以應用線性查詢。線性查詢的操作很簡單,只要在陣列中從頭開始依次往下查詢即可。(沒有限制資料型別)——時間複雜度便為 o(n)。

二分查詢:二分查詢也是一種在陣列中查詢資料的演算法。,它只能查詢已經排好序的資料。二分查詢通過比較陣列中間的資料與目標資料的大小,可以得知目標資料是在陣列的左邊還是右邊。因此,比較一次就可以把查詢範圍縮小一半。重複執行該操作就可以找到目標資料,或得出目標資料不存在的結論。——時間複雜度為 o(logn)。

日常筆記(持續更新)

1.su認證失敗 2.ubuntu中vim下按上下左右鍵時輸入a b c d 這是因為ubuntu系統自帶的 vi 不完整,安裝完整的vi即可 sudo apt get install vim gtk 3.e 無法獲得鎖 var lib dpkg lock open 11 資源暫時不可用 e 無法鎖...

Vue筆記,持續更新

在mounted函式裡,通過this.ref和document.queryselector都訪問不了dom vue文件裡關於ref的觸發時機說明 cn.vuejs.org v2 api inde 關於 ref 註冊時間的重要說明 因為 ref 本身是作為渲染結果被建立的,在初始渲染的時候你不能訪問它...

筆記(一)(持續更新)

2 安裝對應的依賴包 root執行 3 修改系統核心引數 4 建立oracle使用者和組 5 解開壓縮包 6 資料庫的引數 7 用sqlplus登入資料庫 8 伺服器防火牆配置 二 oracle資料庫 客戶端 在虛擬機器centos7上搭建oracle資料庫環境。檢視swap 交換區 的大小 mem...