【摆脱CRUD,技术进阶】数据结构与算法入门之基础知识点
大家好,我是码字猴石头。
今天给大家分享数据结构与算法的入门基础。
基础知识
思考
判断一个数是否是2的n次方?
思路:1、递归/循环;*2、二进制->与运算-->符合2的n次方数的规律:n和n-1二进制按位与运算结果为0,则n为2的n次方。数据结构和算法是为高效解决问题
引申=>计算机基础位运算符
概念
数据结构:能组在一起的集合对象,算法:解决问题的路径。
为什么学数据结构与算法?
-
一线互联网公司必问:数据结构与算法,是所有计算机类的基础。大厂看重潜力,故需扎实基础。 -
深入学习技术必备:指导选择更高效解决业务问题,或者技术选型更符合业务,如:缓存的选择,及其类型的选型 -
架构师必备,写出框架级代码 -
提升能力,不被行业淘汰
书籍推荐
数据结构相关
-
严蔚敏版《数据结构与算法》 -
《大话数据结构》
算法相关
-
基础级:刘汝佳《算法竞赛入门经典》(两本,其中一本为习题) -
进阶级:刘汝佳《算法导论》(非常难,非算法行业慎入)
刷题网站
-
LeetCode (主) / 牛客网 -
POJ or HDU
算法的特性
5个特征
-
有穷性 -
确定性 -
可行性 -
有输入 -
有输出
设计原则
-
正确性 -
可读性 -
健壮性 -
高效率 -
低存储
高效率与低存储:内存+CPU==》堆栈内存、OOM相关
评价算法的指标——时间和空间复杂度
-
时间复杂度:运行一个程序所花费的时间(次数) O() -
空间复杂度:运行一个程序所需要的内存 OOM
关注【码字猴】回复【数据结构学习路线】,获取对应的路线导图!
以上是今天分享的全部内容,欢迎朋友们点个 赞 + 在看 ,万分感谢!❤️