推薦一個標(biāo)星115K的GitHub開源項目,拿下算法不是問題
今天要和大家分享一個Github上超級強大的JavaScript算法與數(shù)據(jù)結(jié)構(gòu)項目。
該項目包含了多種基于 JavaScript 的算法與數(shù)據(jù)結(jié)構(gòu)。每種算法和數(shù)據(jù)結(jié)構(gòu)都有自己的 README,包含相關(guān)說明和鏈接,還有可以進一步閱讀的視頻鏈接。
數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)是在計算機中組織和存儲數(shù)據(jù)的一種特殊方式,使得數(shù)據(jù)可以高效地被訪問和修改。更確切地說,數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)值的集合,表示數(shù)據(jù)之間的關(guān)系,也包括了作用在數(shù)據(jù)上的函數(shù)或操作。
算法
算法是如何解決一類問題的明確規(guī)范。算法是一組精確定義操作序列的規(guī)則。
算法范式
算法范式是一種通用方法,基于一類算法的設(shè)計。這是比算法更高的抽象,就像算法是比計算機程序更高的抽象。
下面一起來看一些有用的例子:
大O符號,大O符號中指定的算法的增長順序。
以下是一些最常用的 大O標(biāo)記法 列表以及它們與不同大小輸入數(shù)據(jù)的性能比較:
數(shù)據(jù)結(jié)構(gòu)操作的復(fù)雜性
數(shù)組排序算法的復(fù)雜性
最后附上Github項目地址:https://github.com/trekhleb/javascript-algorithms/blob/master/README.zh-CN.md