- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 写了一个俄罗斯
// CChildView window#define ROW 15#define COL 10#define NorTimer 1#define QuiTimer 2#define BoxWidth 30struct BOXPOS{ int row; int col;};class CChildView : public CWnd{// Constructionpublic: C
2008-04-14 10:36:00
573
原创 判断五子棋获胜方的一个算法
int CMainWindow::IsWinner(){ struct LINE { int topleft,topright,left,top; }; LINE XGridLine[10][10]; LINE OGridLine[10][10]; for(int i=0;i for(int j=0;j { XGridLine[i][j].topleft= XGridL
2008-03-27 22:13:00
1134
原创 用动态规划求解的一个例题
问题描述:输入规模n和由n个元素组成的序列A1...An,求序列中的最长单调递增子序列的长度。解题思路:这是一个求最优解的题目,可以采用动态规划的方法。首先,找出原始问题的最优子结构。假设序列A1...Ai-1(iAk,则A1...Ai中最长递增子序列长度为A1...Ai-1中最长子序列长度加1,否则和A1...Ai-1中最长递增子序列长度相同。如此可以得到一个递归式:设数组
2008-03-20 21:28:00
1588
原创 二难树顺序与链接存储结构的转换
#include #include #define MAXSIZE 100struct BTNode{ int data; struct BTNode *lchild,*rchild;};BTNode *SqtoLink(int a[],int i,int n){ if(i { BTNode *b=(BTNode *)malloc(sizeof(BTNode)); b->data=
2008-03-17 20:49:00
546
原创 The 3n+1 Problem
习题 36:The 3n+1 Problem ★★问题描述:这是一个古老的猜想:给定任何一个正整数n,对它进行以下操作:n是偶数:n=n/2n是奇数:n=3*n+1这样经过多步操作后,最后必定变为1如对13进行操作: 13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1一共经历了9次操作,则称13这个数的周期是9输入:多组测试数
2008-03-08 16:14:00
736
原创 广度优先遍历求指定顶点之间的最短路径
问题描述:设图中的各边的权值均为相等,以邻接表为存储结构,求顶点v到顶点u的最短路径长度,要求输出路径上的每一个顶点。算法思路:采用广度优先遍历算法,当访问到的当前顶点为所指定的终点时,结束遍历,利用队列中每中元素的pre值寻找起点到终点的最短路径(当前顶点的pre值即为链接以当前顶点为终点的弧的表头结点序号)。算法实现:#include #include #inclu
2007-12-01 21:22:00
5344
原创 非递归dfs算法
都说现今内存不值钱了,哈,也就不考虑空间复杂度的问题了,弄了俩辅助数组,觉得解这题还是挺容易的,就是不知道有没有BUG。问题描述:假设图G采用邻接表存储,编写一个实现连通图G的深度优先遍历(从顶点v出发)的非递归算法。算法思路:就是深度优先的思路。同样是一个visited[]数组,标记已访问过的顶点。又用了一个_vertex[]数组,用于存放顶点。算法实现:#
2007-11-30 21:13:00
4295
1
原创 二叉树根结点到任意结点的路径
准备明年上半年的软件水平考试,学习数据结构中。将课后一些有代表性的习题,添加注解,整理后贴出来,可让自己的思路变得更清晰,更条理,也可与别的学习者们交流问题描述:设二叉树以二叉链结构存储,b为指向根结点指针,x为任一结点类型数据,在树b中寻找x,并打印显示出经过的路径算法思路:1,定义树结点类型,设计创建树函数CreateBTNode()(用一个符号表示法的字符串创建)
2007-11-29 11:52:00
6208
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人