資料結構演算法爬坑日記十

2021-10-23 18:58:59 字數 1807 閱讀 4568

雜湊表:也叫雜湊表,通過將關鍵碼值對映到表中的乙個位置來訪問,加快查詢的速度,對映函式也叫雜湊函式,

存放記錄的陣列叫雜湊表,在對一些不常改變的資料進行操作的時候,為了加快速度,通常會採用快取技術將其載入

到記憶體中進行操作,而不直接對資料庫進行操作,如redis,雜湊表就相當於乙個簡化版redis,可以通過陣列+鍊錶

或陣列+二叉樹來實現

示例題:乙個公司,當有新員工來報道時,將該員工的資訊加入,輸入員工id時,查詢到員工資訊(要求不使用資料庫,盡量節省記憶體,速度盡量快)

**實現(陣列+鍊錶方式)

** 鍊錶節點類

//鍊錶節點類

public

class

linkedlistnode}*

* 鍊錶類

//鍊錶類

public

class

linkedlist

else

current.next = node;}}

//檢視資料

public

void

show

(int num)

else

current = current.next;

} system.out.

println()

;}}//查詢資料

public

void

find

(int id)

else

//已經找到

if(current.id == id)

current = current.next;}}

}//修改資料

public

void

update

(linkedlistnode node)

else

//已經找到

if(current.id == node.id)

current = current.next;}}

}//刪除資料

public

void

del(

int id)

else

//已經找到

if(current.id == id)

else

break;}

current = current.next;

frontnode = frontnode.next;}}

}}** 雜湊錶類

//雜湊錶類

public

class

hashtable

}//雜湊函式,根據id再通過此函式得知需要操作哪條鍊錶

private

inthashnum

(int id)

//新增

public

void

add(linkedlistnode node)

//顯示

public

void

show()

}//查詢

public

void

find

(int id)

//修改

public

void

update

(linkedlistnode node)

//刪除

public

void

del(

int id)}*

* 測試類

//測試類

public

class

hashtabletest}}

}

資料結構演算法爬坑日記一

線性結構 最常用的資料結構,特點是資料元素之間存在一對一的線性關係 分倆種儲存結構 1.順序儲存結構 又稱為順序表,儲存元素是連續的 2.鏈式儲存結構 又稱為鍊錶,儲存元素不一定是連續的,元素節點中存放資料元素以及相鄰元素的位址結構 常見線性資料結構 陣列 佇列 鍊錶 棧 非線性結構 常見二維陣列 ...

資料結構演算法爬坑日記六

回溯法 也叫向前試探法,試著尋找正確的求解,當探索到某一步不符合規則時,便回退到上一步進行重新選擇,直到獲取預期的解法 問題描述 在8 8的西洋棋棋盤上,放置八個皇后且八個皇后不能互相攻擊 思路 先將第乙個放在第一行第一列,然後將第二個放在第二行第一列,檢查是否滿足規則,如果滿足則進入第三個的放 置...

資料結構演算法爬坑日記八

思想 通過一次排序將一組資料分為兩部分,一部分全部比另一部分小,然後對兩部分分別再進行快排,迴圈此操作,直到不能再分割,便得到乙個有序序列 實現 快速排序 public class quicksort sort arr,0,arr.length 1 system.out.println arrays...