来自:《数据结构与算法分析——C语言描述》练习2.12 一. 最大子序列和 1.穷举法,O(N3) 2.撤一个for,O(N2) 3.分治算法,O(NlogN) 4.联机算法,O(N) 我们仍然采用更优的联机算法来求解最小子序列和、最小正子序列和、最大子序列乘积。 二.最小子序列和 三.最小正子序列 ...
分类:
其他好文 时间:
2016-09-24 23:19:06
阅读次数:
267
问题描述:Eratosthenes筛是一种用于计算小于N的所有素数的方法。我们从制作整数2到N的表开始。我们找出最小的未被删除的整数i,打印i,然后删除i, 2i, 3i, ..., 当i > √N时,算法终止。 首先,没必要做2到N的表,在一个循环内遍历2到N即可。 其次,所谓最小也没必要判断,依 ...
分类:
编程语言 时间:
2016-09-23 14:59:37
阅读次数:
126
java中常用封装的数组 、字符串、 集合来操作对象,但数据结构中常用的有栈和队列 数与图以及他们之间的排序,查找。
数组声明没有分配内存空间 只有创建或者是初始化时才分配,创建...
分类:
编程语言 时间:
2016-09-21 09:08:48
阅读次数:
349
问题描述: a. 编写一个程序来确定正整数N是否是素数。 b. 你的程序在最坏的情形下的运行时间是多少(用N表示)? c. 令B等于N的二进制表示法中的位数。B的值是多少? d. 你的程序在最坏的情形下的运行时间是多少(用B表示)? e. 比较确定一个20(二进制)位的数是否是素数和确定一个40(二 ...
分类:
编程语言 时间:
2016-09-21 01:32:58
阅读次数:
232
最近听闻数据结构与算法实践课的老师又出了和上年一样的选题,不禁想起了去年自己完成作业时的点点滴滴,遗憾当时没有写博客的习惯,之前的一些心得这一年实践的过去也逐渐淡忘了,突然就有了总结一下的想法,希望能有新的收获吧。 由于当时也没注意保存,软件完成过程中的一些文档早已丢失了,幸运的是Winform版源 ...
分类:
编程语言 时间:
2016-09-18 19:26:53
阅读次数:
155
问题描述:假设需要生成前N个自然数的一个随机置换。例如,{4,1,2,5,2}和{3,1,4,2,5}就是合法的置换,但{5,4,1,2,1}却不是,因为数1出现了两次而数3缺没有。这个程序常常用于模拟一些算法。我们假设存在一个随机数生成器randInt(i, j),它以相同的概率生成i和j之间的一 ...
分类:
编程语言 时间:
2016-09-17 21:55:17
阅读次数:
306
重点:大O记法,最大子序列和(4种算法),对数级算法(3个例子:对分查找、欧几里德算法、幂运算) 算法 算法(algorithm)是为求解一个问题需要遵循的、被清楚地指定的简单指令的集合。 数学基础 四个定义: 1.大O表示法:如果存在正常数 c 和 n0 使得当 N ≥ n0时,T(N) ≤ cf ...
分类:
编程语言 时间:
2016-09-17 14:53:07
阅读次数:
191
【本文谢绝转载,原文来自http://990487026.blog.51cto.com】排序算法 平均复杂度冒泡排序O(n2)选择排序 O(n2)插入排序 O(n2)希尔排序 O(n1.5)快速排序O(N*logN)归并排序 O(N*logN)堆排序 O(N*logN)基数排序 O(d(n+r))选择排序:chunli@http://990487026.blog.51cto.com~/sort$c..
分类:
编程语言 时间:
2016-09-16 00:25:46
阅读次数:
282
【本文谢绝转载,原文来自http://990487026.blog.51cto.com】
树
数据结构与算法3:二叉树,遍历,创建,释放,拷贝,求高度,面试,线索树
二叉树的创建,关系建立
二叉树的创建,关系建立2
三叉链表法
双亲链表:
二叉树的遍历
遍历的分析PPT
计算二叉树中叶子节点的数目:使用全..
分类:
编程语言 时间:
2016-09-15 23:01:40
阅读次数:
893
本节继续介绍二叉树的相关内容,包括二叉查找树和AVL树。 (1)二叉查找树: 定义: 使二叉树成为二叉查找树的性质是,对于树中的每个结点X,它的左子树中所有的关键字值小于X的关键字的值,而它的右子树中所有关键字的值大于X的关键字值。 二叉查找树的平均深度是O(log N)。 对于二叉查找树的删除例程 ...
分类:
编程语言 时间:
2016-09-13 19:00:58
阅读次数:
325