数据结构习题
kelvinmao
这个作者很懒,什么都没留下…
展开
-
栈用于解决括号匹配问题
在编写程序的过程中,我们经常需要对一串括号是否匹配进行判断。如何判断呢?我们可以借助栈来进行判断。基本思路是:遍历字符串,当发现有右括号而此时的栈顶元素又恰好是与之匹配的左括号时,则栈顶元素出栈;其余情况全部入栈,代码如下:#include<stdio.h>#include<stdlib.h>#include<string.h>#define OK 1#define ERROR 0#de原创 2016-04-07 23:01:26 · 4740 阅读 · 0 评论 -
线性表的顺序存储---习题
今天完成了一些与线性表相关的习题,总结如下Q1:设顺序表有10个元素,其元素类型为整型。 设计一个算法,以第一个元素为分界线,将所有小于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面;A:此为数据结构老师在课堂上提出的一个问题,如果了解快速排序算法的原理,此题便十分简单,只需将快速排序最后的两次递归去掉即可。 代码如下(条件是已知顺序表l存在)status divide(sqlist原创 2016-03-26 15:01:47 · 4334 阅读 · 0 评论 -
回溯法和栈的思想用于“八皇后问题”的求解
八皇后问题是一个经典的问题,其核心是:在n*n的棋盘上,有n个皇后,这些皇后必须位于不同行不同列上,并且不能处于同一对角线上,否则会因相互攻击而死亡。那么如何安排皇后们的位置呢?我们可以利用回溯法,先确定第一个皇后的位置,之后进入下一行,确定第二个皇后的位置,再之后进入下一行,如果发现找不到一个位置安排新皇后,则回退到上一行,将上一行的皇后向后移动一列,再考虑下一行的皇后,如此循环,直到安排好所有原创 2016-04-03 11:17:28 · 4480 阅读 · 0 评论