你将收获

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

适用人群

有一定JAVA基础的朋友

课程介绍

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

课程目录

学员评价

3.2
  • 44%
  • 0%
  • 28%
  • 0%
  • 28%
  • qq_42812553 2020-05-11 10:45

    3.0分

    课程内容有重复,重要的算法内容有缺漏(比如数据结构那一块)。可能是讲师讲太快了,equals方法不是比较值的,Object的equals方法其实是比较的引用地址,要像比较值,得复写equals方法(比如String的equals方法)。视频内的有些代码判断条件有些错误,不知道是不是写太快了。但是原理介绍清楚的,就是现在不太放心,听了课之后还得自己上网搜一下确认答案。。。

  • Junior Hu 2019-07-13 09:06

    1.0分

    听免费的那节课 觉得声音清晰宏亮,可是买下来后 后边的课程 像是换了人一样 声音小还不清楚,感觉自己被诈骗了,CSDN这样卖课程我觉得对不起消费者,谁能告诉我哪里可以投诉,真TMD不爽

  • ZRR_94 2019-02-15 10:49

    3.0分

    链表的删除那块写错了吧,应该是if(current.next==null),测试的时候删的是第一个,根本没走这个while循环,所以看不出来错

查看更多评价

同学笔记

  • 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)

     

     

     

     

     

没有更多了