
数据结构与算法
文章平均质量分 78
算法---程序的灵魂,让我们走进算法世界!
Silence-轩辕-寂
Linux,Windows xp,Windows 7,Windows 8,MaxDos,UNIX
展开
-
数据结构与算法(9)--后缀表达式
后缀表达式的特点就是计算机运算非常方便,需要用到栈;计算机处理过程只需要顺序读入,如果遇到数字,则放入栈中,如果是运算符,则将两个栈中数字取出进行运算;比如1+2的后缀表达式为12+;而栈可以把一般的中缀表达式变成后缀表达式,并且计算后缀表达式得出结果,因此此应用在计算器中非常常用。原创 2014-06-14 19:44:37 · 2219 阅读 · 0 评论 -
数据结构与算法(8)--行排序 列排序
要用C++是实现起来是很困难的,因为需要用到几大块的小算法,才能实现。第一是行间排序,第二是行列变换,第三是前后移动元素,这些算法都组合起来,整个过程就变得很复杂了。这次我是用二维数组来实现的,也可以用vector实现同样的效果,感觉能用vector还是用vector吧。而且我把书中的列排序,改变成行排序了,因为C++的习惯还是行优先数组。下面是整个程序,程序还是挺大的,相原创 2014-06-08 11:52:41 · 1267 阅读 · 0 评论 -
数据结构与算法(7)--检测数组中元素是否升序排列
试编写一个模板函数,用来测试数组a中的元素是否按升序排列(即 a[i] ≤ a[i+1],其中0≤i。如果不是,函数应返回false,否则应返回true。上机测试该函数。原创 2014-06-07 20:27:20 · 3375 阅读 · 0 评论 -
数据结构与算法(6)--单词统计
我们先由一个简单的问题来引入huat原创 2014-06-07 20:15:27 · 1849 阅读 · 0 评论 -
数据结构与算法(5)--线性表
#include#define MaxSize 50typedef char ElemType;struct List{ ElemType list[MaxSize]; int size;}setnull(struct List *p)//置空{ p->size=0;}int length(struct List *p)//求长度{ return (p->size);原创 2014-05-17 21:12:27 · 974 阅读 · 0 评论 -
数据结构与算法(4)--一维树状数组
南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。原创 2014-05-17 16:08:25 · 1046 阅读 · 0 评论 -
数据结构与算法(3)--优先队列
#include #include using namespace std;priority_queue,greater >Q;/**greater是最小值优先出队,而less是最大值最先出队*/int main(){ int x,n,i; while(cin>>n) { for(i=0;i<n;i++) {原创 2014-05-17 16:03:34 · 1002 阅读 · 0 评论 -
数据结构与算法(2)--贪心策略
贪心的基本步骤:1)决定问题的最优子结构;2)设计出一个递归解;3)证明在递归的任一阶段,最优选择之一总是贪心选择。那么,做贪心选择总是安全的;4)证明通过做贪心选择,只有一个子问题;5)设计出一个实现贪心策略的递归算法;6)将递归算法转换成迭代算法。更一般的,可以用下面的方式来描述:1)将优化问题转化成先做出选择,再解决剩下的一个子原创 2014-05-17 16:01:34 · 1142 阅读 · 0 评论 -
数据结构与算法(1)--动态规划
xunhuanduilie队列通常分为两类:一是动态链式队列(其核心思想为链表,只是少了链表的一些功能),二是静态(顺序)队列(其核心是用数组实现,准确一点讲是由向量空间来实现,向量空间好比是开辟的一块内存,由我们的指针来指向其地址)。顺序队列实际上是运算受限的顺序表,由于队列的队头和队尾的位置是变化的,通常设置两个指针front和rear分别指示队头元素和队尾元素在向量空间中的位置,它们原创 2014-05-17 16:00:49 · 1518 阅读 · 0 评论