你将收获

如果不懂数据结构的,可能随便选择一个容器来存储,也能完成所有的功能,但是后期如果随着学生数据量的增多,随便选择的数据结构肯定会存在性能问题,而一个懂数据结构和算法的人,在实际编程中会选择适当的数据结构来解决相应的问题,会极大的提高程序的性能。

算法开发

贪婪算法

图算法

适用人群

有一定JAVA基础的朋友

课程介绍

如果说各种编程语言是程序员的招式,那么数据结构和算法就相当于程序员的内功。 想写出精炼、优秀的代码,不通过不断的锤炼,是很难做到的。 开这个系列的目的是为了自我不断积累。不积跬步无以至千里嘛。

课程目录

讨论留言

正在加载中...

同学笔记

  • qq_36147908 2020-05-22 15:58:10

    来源:蒙特卡洛算法 查看详情

    蒙特卡洛算法

     如何使用蒙特卡洛算法 计算 圆周率

  • qq_36147908 2020-05-22 11:49:18

    来源:Set原理 查看详情

    hash基本原理   把键值转化为偏移地址来检索记录

    键转换地址是通过一种关系(公式)完成的,就是散列

    使用散列搜索记录总结

     1 给定一个值,散列函数将他转化为范围从1到n的散列值(位置),其中n已经为这些记录分配的存储(地址)空间的大小

    2 在产生单位位置处检索到记录

    有两个限制  可能导致冲突  不能顺序访问

     

    选择散列的两个原则标注

      简单且快速计算

       能够在地址空间中获取键的均匀分布

     设计一个散列函数的技术  

       截取法 模块法  平方取中法  折叠法

     

    冲突可以使用 分离键的方法解决

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • qq_36147908 2020-05-19 20:36:34

    来源:算法特性分析 查看详情

    算法分析 最看重 执行效率(时间)和存储利用率(空间).在数据结构li,对一个算法执行效率的度量 叫时间复杂度. 对一个算法在执行过程所占的存储空间的度量叫空间复杂度

     

    时间复杂度数量级 

     常量阶    记为0(1), 其执行所花费时间是一个常量 与问题规模无关

     

    线性阶 记为0(n) 其执行花费时间 与问题规模成正比 呈现一种线性关系  

    平方阶 记为0(n2) 其执行花费时间按问题规模的平方倍增长 .比如 规模加倍时 时间复杂度就增长 4倍

     算法时间多项式 关系

    0(1) <0(logn)<0(n) <0(nlogn) < 0(n^2) <0(n^3)

     

     

     

    指数时间关系 0(2^n) <0(n!) < 0(n^n)

     

     

     

     

     

没有更多了