js的資料結構和演算法(主要記錄常見演算法)

2021-10-01 12:39:11 字數 1394 閱讀 8515

js的資料結構:

1、陣列(array)

2、棧(stack)

3、佇列(queue)

4、鍊錶(linked list)

5、樹(tree)

6、圖(graph)

7、堆(heap)

8、雜湊表(hash)

演算法:

1.字串回文:字串倒序

let a="sasdfghjkl"

function changestr()

2.陣列去重

1) 利用物件key值的唯一性

let a=[1,3,3,3,1,2,6,4,5,6]

function changes();

let arr=;

for(let i in a)

}return arr

}2)利用es6 new set

function changes()

3.統計字串出現最多的字母

let a='gffhghjllyesdfffnmfffssssffffjjffff'

function changes()

for(let i in a)else

}let max=0;

let maxstr

for(let i in obj)

}return maxstr

}

4. 排序演算法

氣泡排序:純陣列,陣列物件

let a = [4,6,32,11,5,667,39,56,78,2,42,7];

let ob=[,,

,];

function changes())

ob.sort(function(a,b))

return ob

}

快速排序,二路歸併等

5.陣列查重

let a = [4,6,32,6,5,6,5];

function changes();

for(let i in a)else

}let n=0;

for(let i in obj)

}let str=""

for(let i in obj)

}return str;

}

JS資料結構和演算法 棧

棧是一種後進先出的資料結構 其限制是僅允許在一端進行插入和刪除。這一端被稱為棧頂,另一端稱為棧底 lfo last in first out 後進入的元素第乙個彈出棧空間 向 個棧插入新元素又稱作進棧 入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素 從 個棧刪除元素又稱作岀棧,它是...

面試常考資料結構與演算法

資料結構部分 1 陣列和鍊錶的區別。很簡單,但是很常考,記得要回答全面 c 語言中可以用陣列處理一組資料型別相同的資料,但不允許動態定義陣列的大小,即在使用陣列之前必須確定陣列的大小。而在實際應用中,使用者使用陣列之前無法確定陣列的大小,只能夠將陣列定義成足夠大小,這樣陣列的空間可能不被使用,從而造...

面試常考資料結構與演算法

資料結構部分 1 陣列和鍊錶的區別。很簡單,但是很常考,記得要回答全面 c 語言中可以用陣列處理一組資料型別相同的資料,但不允許動態定義陣列的大小,即在使用陣列之前必須確定陣列的大小。而在實際應用中,使用者使用陣列之前無法確定陣列的大小,只能夠將陣列定義成足夠大小,這樣陣列的空間可能不被使用,從而造...