上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页
摘要: 堆排序很多时候的实际应用并不如快速排序(quick sort)那么快,但是也有很多实际的应用,例如优先级排序就是其中之一。 优先级排序可以应用到系统的调度算法中,人工智能中也经常要用到,熟悉这个算法很有好处。 不要让名字误导我们,优先级队列其实数据结构不一定就是一个普通的队列数据结构,这里的底层数据 阅读全文
posted @ 2020-10-28 13:43 tianli3151 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 给定n个数组成的序列,求其中最大子段和,并规定其中如果所有数均为负值的时候,那么最大字段和为零。 解决这样的问题需要用的算法是:分治法 基本思路: 1. 划分两个长度基本相同的子段,得出以下三种情况 2. 如果最大和出现在左边,就左边最大子段和为解 3. 如果最大和出现在右边,就右边最大子段和为解 阅读全文
posted @ 2020-10-27 11:24 tianli3151 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 算法导论第六章开始就开始介绍堆排序。 这是个非常难理解的排序算法,主要需要经过三个步骤:1 大顶堆化; 2 利用大顶堆化函数简历大顶堆; 3 最后再利用前面两个函数进行排序 这个算法有几个理解难点需要克服的: 1. 计算堆中的孩子节点要仔细,因为堆排序用的是一位数组表示二维二叉树的概念的,这都是人为 阅读全文
posted @ 2020-10-27 11:22 tianli3151 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 算法导论第九章开始的算法 同时查找最大值和最小值的算法。 本算法并不是直接拿数组中的元素来和最大值和最小值比较的,而是先比较数组中两个数组,然后那其中小的和最小值对比,其中大的和最大值对比,那么算法就可以由原来需要对比2n次,降到只需要对比3n/2次了。 对于一个无序查找最小值的算法一般都如下: t 阅读全文
posted @ 2020-10-27 11:20 tianli3151 阅读(441) 评论(0) 推荐(0) 编辑
摘要: Introduction to Algorithm 算法导论第八章的Column sort是非常有趣的,相当复杂。 要用C++是实现起来是很困难的,因为需要用到几大块的小算法,才能实现。 第一是行间排序,第二是行列变换,第三是前后移动元素,这些算法都组合起来,整个过程就变得很复杂了。 这次我是用二维 阅读全文
posted @ 2020-10-27 11:18 tianli3151 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 吊桶排序的排序速度很快,平均是O(n),能达到这么快的速度其中一个原因是它假设了输入值为范围是[0, 1)的小数。 Introduction to Algorithm这本书里面章8.4的算法,首先把原数组按照一定规律对照到每个吊桶(Bucket)里面,然后对每个Bucket排序,最后把这些Bucke 阅读全文
posted @ 2020-10-27 11:11 tianli3151 阅读(102) 评论(0) 推荐(0) 编辑
摘要: Introduction to Algorithm 算法导论书中第八章的计数排序 counting sort 下面是计数排序 counting sort 的全部代码。 时间效率很高,但是需要额外空间O(n);其实也可以使用等于关键字数个额外空间,节省很多空间的。 [cpp] #include<ios 阅读全文
posted @ 2020-10-27 11:09 tianli3151 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 研究了三本书的归并排序的写法 一:严蔚敏 数据结构; 写得太过于复杂,是这本书中写的最垃圾的算法,我一共研究过四遍吧,算法用错中复杂的参数和递归,令人看得非常头大。建议大家不要学习这本书的这个算法。因为是考研书,所以不得不看。 二:王红梅 算法设计与分析; 跟严蔚敏的书中算法差不多,不过该书漏了点东 阅读全文
posted @ 2020-10-26 15:08 tianli3151 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 1 、数据结构算法 先讲一下本文主要要用到的稍微高级一点而重要的一些C++基础: 1. C++模板: 模板简单的来说就是可以让你定义一个通用的类型,模板的关键字为typename和class,这两个关键字用在模板中基本上是一样的作用。class是旧的关键字,现在都建议用typename,这样是为了避 阅读全文
posted @ 2020-10-26 15:02 tianli3151 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 有一个字符组成的等式:WWWDOT – GOOGLE = DOTCOM,每个字符代表一个0-9之间的数字,WWWDOT、GOOGLE和DOTCOM都是合法的数字,不能以0开头。请找出一组字符和数字的对应关系,使它们互相替换,并且替换后的数字能够满足等式。这个字符等式是Google公司能力倾向测试实验 阅读全文
posted @ 2020-10-26 14:34 tianli3151 阅读(199) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页