数据结构与算法分析
文章平均质量分 78
数据结构与算法分析
章代沫
慢就是快
展开
-
【一起学数据结构与算法分析】第六篇:第一章完整习题
关于第一章学习已经介绍完了。【一起学数据结构与算法分析】第一篇:取第K大数的两种方法比较【一起学数据结构与算法分析】第二篇:字谜游戏【一起学数据结构与算法分析】第三篇:递归的4条设计原则【一起学数据结构与算法分析】第四篇:泛型漫谈【一起学数据结构与算法分析】第五篇:处理include标签接下来我们就尝试来解一解书本上的习题。同学们,上阔~1.1 编写一个程序解决选择问题。令k = N / 2 。画出表格显示程序对于N种不同的值的运行时间。参见上面第一个链接,就不再赘述了,但是按题目要原创 2021-03-23 15:20:59 · 278 阅读 · 0 评论 -
【一起学数据结构与算法分析】第五篇:处理include标签
处理include标签其实第一章的习题部分,因为篇幅过大所有决定单独开一章节。题目要求如下:原创 2021-03-19 16:22:39 · 172 阅读 · 0 评论 -
【一起学数据结构与算法分析】第四篇:泛型漫谈
以前刚在《数据结构与算法分析》中看到泛型这个章节总觉得莫名其妙,因为它更像是一种约束,而不是能称作为具体的类型,毕竟泛型在编译后不会有任何信息,最终还是回归到具体的数据结构。那么既然书本上写了这么章节,应该有它的用意,再说老朽本身就是java出身,特地绕过它总给人一种“自己学得不扎实”的样纸,那就索性装个B。【王大锤装B图】学过java的朋友都知道-万物皆对象,那既然什么东西都是对象,我们把操作入口的接收类型改成对象不就完事了吗?比如说人类吃东西,大体上是先嚼再吞,所以我们可以这样定义:class原创 2021-03-15 16:08:23 · 175 阅读 · 0 评论 -
【一起学数据结构与算法分析】第三篇:递归的4条设计原则
递归相信大家都很熟悉,简单来说,就是把一个很大的东西按照相同的模式回归到一个确定的点上。比如说爬楼梯,如果一个人一步能跨2个台阶,现在问:他第100步能跨到第几个台阶上?有人说200,很明显不对,因为老朽没说他最开始在哪个台阶上,如果最开始就在第200个台阶上,那答案就是200 + 200 = 400了。我们可以简单的列个等式:H(n) = H(n - 1) + 2, H(0) = C(n >= 1,C为常量),这样才能求解H(100) = 400。所以说,没指定初始值的递归都是耍流氓!由原创 2021-03-11 18:30:09 · 239 阅读 · 2 评论 -
【一起学数据结构与算法分析】第二篇:字谜游戏
上一章我们学习了求第K大元素的两种方法比较。【一起学数据结构与算法分析】第一篇:取第K大数的两种方法比较今天我们紧接着学习引论中的第二个问题:字谜游戏首先我们分别定义字谜板(上图中的表格)和字典,字典暂且用一个简单的列表来模拟。 companion object { /** * List as English word dictionary. */ private val DICTIONARY = arrayOf("this原创 2021-03-09 11:23:10 · 397 阅读 · 0 评论 -
【一起学数据结构与算法分析】第一篇:取第K大数的两种方法比较
最近在学习Mark Allen Weiss这本经典著作(数据结构与算法分析-JAVA语言描述,第二版),想顺便做个笔记,一来供自己日后复习用,二来方便同样在看这本书的朋友们舒服地入门。第一章引论部分就抛出了一个问题:取N个数中第k个最大者。这个问题确实有很多种解法,在后面的章节中我们再去熟悉其他数据结构与算法来处理这个问题。但现在,既然是入门嘛,我们权且把自己当成技术小白,就按照书本中的提示来,即分别利用冒泡排序和k-排序(原谅我取了这么个名字)。先说说冒泡,但凡接触过编程的同学们对这个名词估计都原创 2021-03-08 14:56:44 · 339 阅读 · 0 评论