算法导论
文章平均质量分 88
Oliver_LJF
吾日三省吾身。
展开
-
插入排序及其JAVA实现
插入排序作为算法导论这门课的第一个算法,我用JAVA实现起来很难,那天为了数组下标这个事,竟然折腾了四五个小时,可想而知我的基础是多么差了。 插入排序,对于少量元素的排序,它是一个有效的算法。插入排序的工作方式像许多人排序手中的扑克牌一样。开始时,我们左手为空,桌子上为未处理的扑克牌,我们每次拿一张到左手并将它插入到正确的位置。为了找到这一个合适的位置,我们从左到右(或从右到左)和每一张牌...原创 2018-05-29 09:37:02 · 217 阅读 · 0 评论 -
归并排序相关知识及算法导论第三版2.3-7实现
2.3-7描述一个运行时间为Θ(nlgn)的算法,给定n个整数的集合S和另一个整数x,该算法能确定S中是否存在两个其和刚好为x的元素。分析:首先将S进行排序,然后再通过查找算法进行查找。插入排序算法复杂度最差n^2,归并排序最差为nlgn,堆排序为最差为nlgn,快速排序最差为n^2,这里我们直接使用归并排序。所以实现归并排序是第一步。第二步为查找算法,且复杂度不低于nlgn的。首先想到每个数减去...原创 2018-05-30 21:45:13 · 472 阅读 · 0 评论 -
赫夫曼编码的JAVA实现及其分析
几个问题:1,没有构造出真正的赫夫曼树,最后结果需要自己手动画出来; 2,针对于某一类中的set和get方法,每次都忘了用,最后才是反应过来强行加上的,说到底还是代码规范问题,同时也可以理解为封装特性,有个坏习惯,每次总是直接的去访问成员变量。话不多说直接开始。一:首先建立一个关于结点的类,用于维护该结点的相关信息。class nodeinf { /** * nodeinf用来维护该节点的相...原创 2018-06-22 09:46:06 · 423 阅读 · 0 评论