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 語言中可以用陣列處理一組資料型別相同的資料,但不允許動態定義陣列的大小,即在使用陣列之前必須確定陣列的大小。而在實際應用中,使用者使用陣列之前無法確定陣列的大小,只能夠將陣列定義成足夠大小,這樣陣列的空間可能不被使用,從而造...