We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
计算机程序通常是由数据结构+算法组成的。
数据结构+算法
知识点总览:
数据结构决定了空间和时间的处理效率,根据不同的场景确定不同的数据结构。
读的多的数据,要想竟可能想办法提高读取效率,比如IP 的数据储存,他可能只会写一次,而读取很多次。
有序数据结构比如数组存储,节省空间,但查找慢。用无序数据结构比如对象存储,用 key 就可以快速查找到。
key
对于简单的数据结构,在 ES 中对应的是 Array 和 Object。可以想象下数组是有序的而对象是无序的,对象可以通过 key快速获取值,而数组则有个查找过程。
算法分为时间复杂度和空间复杂度。
时间复杂度指的是算法运行的时间,空间复杂度指的是算法运行所需的储存空间。
一般遵循这几个原则:
O(n)
O(n^2)
O(log(n))
举个例子:
var i = 0; // 这条语句执行1次 while(i < n) { // 这条语句执行n次 console.log(i); // 这条语句执行n次 ++i; // 这条语句执行n次 }
算法复杂度计算:1 + n + n + n = 1 + 3n,去除常数项,复杂度为 O(n)
The text was updated successfully, but these errors were encountered:
No branches or pull requests
计算机程序通常是由
数据结构+算法
组成的。知识点总览:
数据结构
数据结构决定了空间和时间的处理效率,根据不同的场景确定不同的数据结构。
读的多的数据,要想竟可能想办法提高读取效率,比如IP 的数据储存,他可能只会写一次,而读取很多次。
常见的数据结构
有序数据结构比如数组存储,节省空间,但查找慢。用无序数据结构比如对象存储,用
key
就可以快速查找到。对于简单的数据结构,在 ES 中对应的是 Array 和 Object。可以想象下数组是有序的而对象是无序的,对象可以通过 key快速获取值,而数组则有个查找过程。
算法
算法分为时间复杂度和空间复杂度。
时间复杂度指的是算法运行的时间,空间复杂度指的是算法运行所需的储存空间。
算法的复杂度
一般遵循这几个原则:
O(n)
,两重循环O(n^2)
,一次类推。O(log(n))
。举个例子:
算法复杂度计算:1 + n + n + n = 1 + 3n,去除常数项,复杂度为 O(n)
The text was updated successfully, but these errors were encountered: