原创 JavaScript數據結構與算法之 "字典和散列表"

字典 字典數據結構 在字典(或映射)中,我們用[鍵,值]對的形式來存儲數據,其中鍵用來查詢特定的元素 在字典中的每個鍵只能有一個值 幫助方法或類 判斷元素是否存在const isExist = (element) => {

原创 JavaScript數據結構與算法之 "隊列和雙端隊列"

隊列數據結構 隊列數據結構遵循先進先出原則的一組有序項 隊列在頭部移除數據,在尾部添加數據。最新添加的數據必須排在隊列的最末端 在現實生活中最常見的隊列就是排隊 隊列數據結構的實現 通過對象我們可以實現隊列 隊列包含的方法

原创 JavaScript數據結構與算法之 "鏈表"

鏈表數據結構 鏈表是存儲有序元素的集合,但不同於數組,鏈表中的元素在內存中並不是連續放置的 鏈表中的每個元素由一個存儲元素本身的節點和一個指向下一個元素的引用組成 鏈表的優點:添加元素或移除元素的時候不需要移動其他元素,因此向鏈

原创 JavaScript數據結構與算法之 "集合"

昨天實現的集合有一些bug,這次重寫了代碼。 集合數據結構 集合是由一組無序且唯一(即不重複)的項組成 空集:空集是不包含任何元素的集合 可以把集合想象成一個既沒有重複元素,也沒有順序概念的數組 集合在計算機領域中的運用

原创 JavaScript數據結構與算法之 "棧"

棧數據結構簡介 棧是一種遵循先進後出原則的數據結構 新添加或待刪除的元素都位於棧的同一端稱爲棧頂,另一端稱爲棧底 在棧裏新元素都靠近棧頂,舊元素都靠近棧底 棧在現實生活中類似於:一疊書,一疊盤子 棧在編程語言中多用於管理變量,方