vlambda博客
学习文章列表

【摆脱CRUD,技术进阶】数据结构与算法入门之基础知识点

大家好,我是码字猴石头。

今天给大家分享数据结构与算法的入门基础。

基础知识

思考

判断一个数是否是2的n次方?

思路:1、递归/循环;*2、二进制->与运算-->符合2的n次方数的规律:n和n-1二进制按位与运算结果为0,则n为2的n次方。数据结构和算法是为高效解决问题

引申=>计算机基础位运算符

概念

数据结构:能组在一起的集合对象,算法:解决问题的路径。

为什么学数据结构与算法?

  • 一线互联网公司必问:数据结构与算法,是所有计算机类的基础。大厂看重潜力,故需扎实基础。
  • 深入学习技术必备:指导选择更高效解决业务问题,或者技术选型更符合业务,如:缓存的选择,及其类型的选型
  • 架构师必备,写出框架级代码
  • 提升能力,不被行业淘汰

书籍推荐

数据结构相关

  1. 严蔚敏版《数据结构与算法》
  2. 《大话数据结构》

算法相关

  1. 基础级:刘汝佳《算法竞赛入门经典》(两本,其中一本为习题)
  2. 进阶级:刘汝佳《算法导论》(非常难,非算法行业慎入)

刷题网站

  1. LeetCode (主) / 牛客网
  2. POJ or HDU

算法的特性

5个特征

  • 有穷性
  • 确定性
  • 可行性
  • 有输入
  • 有输出

设计原则

  • 正确性
  • 可读性
  • 健壮性
  • 高效率
  • 低存储

高效率与低存储:内存+CPU==》堆栈内存、OOM相关

评价算法的指标——时间和空间复杂度

  • 时间复杂度:运行一个程序所花费的时间(次数) O()
  • 空间复杂度:运行一个程序所需要的内存 OOM




关注码字猴回复数据结构学习路线】,获取对应的路线导图!

以上是今天分享的全部内容,欢迎朋友们点个 赞 + 在看 ,万分感谢!❤️