- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 c++ 图(邻接表)
/*连通邻接表: 由顶点表和边表组成,顶点表中存着数据和指向边表的指针 边表是一个链,存着顶点表的相关联的数据在顶点表的位置与权值下面就是建表 遍历(深度优先DFS与广度优先BFS)*/#include #define MAXSIZE 30using namespace std;typedef struct Sidetable
2012-10-30 22:56:55 7927
原创 c++无向图(矩阵)
/*连通无向图;邻接绝阵表示图就是在二维数组中数组元素的真假表示两个节点是否相邻接*/#include using namespace std;#define MAXSIZE 20 //数据元素最大长度#define MAXDATA 999 //最大数据class Map
2012-10-28 20:58:12 2906
原创 c++二叉树(统计叶节点,判断两颗二叉树是否相等,交换二叉树的左孩子右孩子,输出叶子到根节点的路径)
/*以二叉链表作为二叉树的存储结构: 完成 1:统计二叉树的叶结点个数. 完成 2:判别两棵树是否相等 完成 3:交换二叉树每个节点的左孩子和右孩子 4:设计二叉树的双序遍历(双序遍历就是指对于二叉树的每个节点,先访问这个节点 ,再按双序遍历她的左子树,然后在访问这个节点,然后在按双序遍历它右子树 ) 5:计算二叉树的最大宽
2012-10-25 10:40:55 9425
原创 c++哈夫曼树(简单创建,与遍历)
/*给定n个带权的节点,如何构造一棵n个带有给定权值的叶节点的二叉树,使其带全路径长度WPL最小,构造最优树算法如下.哈夫曼算法: 1. 将n个权值分别为w1,w2,w3,....wn-1,wn的节点按权值递增排序,将每个权值作为一棵二叉树 构成n棵二叉树森林F={T1,T2,T3,T4,...Tn},其中每个二叉树都只有一个权值,其左右字数为
2012-10-24 20:50:22 8936 1
转载 简述C和C++程序员学习历程
哈哈!有幸在某网站发现这篇文章,读罢,觉得蛮有道理,发来大家一起共勉之 总 是被同学们问到,如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复。 一家之言,欢迎拍砖哈。 1、可以考虑先学习C. 大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望成为一个解决问题的专家。做一个有 用的程序员,做一个赚钱的程序员。
2012-10-22 21:54:29 892
原创 (以实现)c++非递归层次二叉树
层次建立和遍历的算法在其他文章中,主要思想那里也有#include #define MAXSIZE 100using namespace std;//*************节点类**************class Bitree;class Node{private: int Data; Node* Lchild; Node* Rchild;p
2012-10-14 14:19:25 413
原创 非递归按层次遍历二叉树
//非递归按层次遍历二叉树算法思想:按层次遍历需要一个队列,开始将二叉树的头结点入队, 然后每次从队列中删除一个节点并输出节点信息,接下来把它的非空 左右孩子入队,下一个输出的位它的右面堂兄弟或兄弟节点信息,在把它的 左右孩子入队,这两个孩子在上面两个孩子的后面(紧跟其后) 这样当队列为空时算法结束注意:要声明全局变量数组与front 和
2012-10-13 22:36:25 1167
原创 非递归队列方法建立二叉树
非递归队列方法建立层次二叉树思想:要认清rear和front的关系 1:函数刚开始rear== 0是要在while中第一次起作用,rear == front 表示栈空. 2:看函数体,当rear在自增后卫奇数时,此时q[front]的右孩子已经处理完,跟紧其后的是front++, 表明下一个处理的节点为当前处理节点的兄弟节点或者堂兄弟节点,反正就
2012-10-13 22:03:15 1410
原创 c++二叉树的建立与遍历
刚学数据机构没多久,学校又是讲c的,自己就用c++写的 只哟建立与遍历,其他功能还没完善,坐等完善//*********************二叉树************************#include using namespace std;//**********声明Node为BinaryTree的友元类class BinaryTree;//******
2012-10-13 16:17:53 1102
转载 函数参数的传递问题(指针的指针)(转)
程序1:void myMalloc(char *s) //我想在函数中分配内存,再返回{ s=(char *) malloc(100);}void main(){ char *p=NULL; myMalloc(p); //这里的p实际还是NULL,p的值没有改变,为什么? if(p) free(p);}程序2:void myMalloc(ch
2012-10-09 12:09:01 487
原创 (待解)单链表表头初始化问题
在表表头单链表中建立表头结点要初始化结构体:typedef struct Node{ int elem; struct Node* Next;}Node;void InitLink(Node *L){ L = new Node; L->elem = 0;}主函数main中Node* L;InitLink(L);这样为什么出
2012-10-06 00:14:11 1069
原创 单链表中一趟遍历找出值最大节点
/*这个题就没什么算法了,直接利用两个指针,指向两个节点,p1 p2,p1指向两者较大的,最后p1所指向的就是表中值最大的节点*/#include using namespace std;//*****************结构体********************typedef struct Node { int elem; struct Nod
2012-10-06 00:06:42 12648
原创 链表多项式求和
虽然很简单,但是还是花了我2个多小时才完成,哎........................./*对于两个一元多项式所有指数相同的项,对应系数相加 若其和不为零,则作为和多项式的一项插入到和多项式链表中去 如指数不相同,则将指数数值较小的插入到和多项式链表中去 注意:多项式链表中的节点不需生成,而应该从两个多项式链表中摘取*/#include using names
2012-10-05 23:27:40 1060
原创 人一直在编故事,我一直在讲故事
大二了!发现要学的还是那么那么多!数据结构,.NET,c++,英语,数学,........大一虽然说一直在努力,但是感觉方法不太对,总觉得没收货那么多,现在开始努力专研数据结构和c++,以及英语,有时候在别人看来很简单的一道题我可能会用一下午来磨,可能是我太笨,也可能是我基础不够吧!总之我还要在努力,游戏真不能玩了,书得多看看了,12月份还有个英语四级考试,加把劲今年过了它,同寝室的室友天
2012-10-05 19:10:54 386
原创 poj 字符串移位包含问题
字符串移位包含问题:这道题是标准的KMP模板题题意是给两个字符串 一个串通过位移是否能包含另一个串,这里有个隐含条件,不一定只是A包含B,应该是A与B长的去包含短的,比如有ABCDE CDEABABAB这两串应该是B串包含A串,隐含条件找到了,那么怎么判断是否能通过移位包含呢?一般想法是朴素字符串匹配的方法 从a[0]一直判断到a[size],也就是最后一位,如果搜
2012-10-05 16:06:11 599
原创 poj1363 Rails(栈的应用)
题意: 给出火车出站序列,问顺序是否合理,就是判断出栈合理不算法:模拟栈 1.开辟一个数组存储出栈序列a[..]; 2.开辟一个栈 stacks,按顺序存储当前比a[i]小的车厢 3.如果a[i=0 -> n] == j = 0 ->..说明车厢直接出栈 4.如果3不成立,说明下一车厢有可能大于,有可能小于当前车厢编号
2012-10-05 13:15:04 1291
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人