上一页 1 2 3 4 5 6 ··· 10 下一页
摘要: 归并排序 归并排序和快速排序是两个经典的排序算法,是计算机的基础设施的重要组成部分,完整科学地理解它们的特性有助于我们将其用于实际的系统排序,快排也是二十世纪科学和工程领域的十大算法之一。 mergesort 归并排序基本思想:把数组分成两半,递归地排好每一半,合并有序的两半。另外,冯诺依曼被公认为 阅读全文
posted @ 2019-01-02 16:23 archeroc 阅读(1786) 评论(0) 推荐(0) 编辑
摘要: 编程作业三 作业链接: "Pattern Recognition" & "Checklist" 我的代码: "BruteCollinearPoints.java" & "FastCollinearPoints.java" & "Point.java" 问题简介 计算机视觉涉及分析视觉图像中的模式并重 阅读全文
posted @ 2019-01-02 16:23 archeroc 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 快排 快排是另一个经典的排序算法,在实际中也被广泛地应用。 quicksort 快排的基本思想: 混洗(shuffle)打乱待排数组。 这样划分(partition)数组: 元素 a[j] 在排好的位置上。 j 左边元素都不大于 a[j]。 j 右边元素都不小于 a[j]。 递归地排好 j 的左边和 阅读全文
posted @ 2019-01-02 16:23 archeroc 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 初级排序 rules of the game 排序是很常见的需求,把数字从小到大排,把字符串按字典序排等等,目标是能对任何类型的数据进行排序,这可以通过回调(callback)实现: Java 用接口实现回调,具体来说是可比较接口(Comparable),里面有个方法 compareTo(),大于小 阅读全文
posted @ 2018-12-25 10:56 archeroc 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 编程作业二 作业链接: "Deques and Randomized Queues" & "Checklist" 我的代码: "Deque.java" & "RandomizedQueue.java" & "Permutation.java" 问题简介 Write a generic data ty 阅读全文
posted @ 2018-12-25 10:37 archeroc 阅读(608) 评论(0) 推荐(0) 编辑
摘要: 栈和队列 大型填坑现场,第一部分的还没写,以上。 栈和队列是很基础的数据结构,前者后进先出,后者先进先出,如下图: 下面开始将客户端和具体实现分开,这样有两个好处:一是客户端不知道实现的细节,但同时也会有很多不同实现来选择;二是实现方面也不知道客户端需求的细节,但同时很多客户端可以也重用一样的实现。 阅读全文
posted @ 2018-12-25 10:29 archeroc 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 编程作业五 作业链接: "Burrows Wheeler Data Compression" & "Checklist" 我的代码: "MoveToFront.java" & "CircularSuffixArray.java" & "BurrowsWheeler.java" 问题简介 Burrow 阅读全文
posted @ 2018-09-02 23:47 archeroc 阅读(723) 评论(4) 推荐(1) 编辑
摘要: 数据压缩 introduction 压缩数据可以节省存储数据需要的空间和传输数据需要的时间,虽然摩尔定律说集成芯片上的晶体管每 18 24 个月翻一倍,帕金森定律说数据会自己拓展来填满可用空间,但数据压缩还是最经济的做法。 数据压缩的基本模型如下,很简单,压缩和解压,压缩率即 C(B) 和 B 的比 阅读全文
posted @ 2018-08-28 16:24 archeroc 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 正则表达式 Regular Expressions 在文本中查找子字符串只是寻找一个单一的字符串,但经常的我们可能不知道这个字符串的完整信息,或是寻找的是吻合某种模式的一些字符串,即所谓 模式匹配(Pattern Matching) 。 正则表达式(Regular Expressions) 就是用来 阅读全文
posted @ 2018-08-21 10:49 archeroc 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 编程作业四 作业链接: "Boggle" & "Checklist" 我的代码: "BoggleSolver.java" 问题简介 Boggle 是一个文字游戏,有 16 个每面都有字母的骰子,开始随机将它们放在 4 4 的板子上,如图: 图片来自: "wiki" 。 游戏双方就在上面找有效的单词, 阅读全文
posted @ 2018-08-14 23:41 archeroc 阅读(576) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 10 下一页