数据结构 (算法)
XD_fybdw
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树创建以及遍历
char *ps = “ABCDEFGH”; char *is = “CBEDFAGH”; char *ls = “CEFDBHGA”;BtNode * Buynode(){ BtNode *s = (BtNode*)malloc(sizeof(BtNode)); if(s == NULL) exit(1); memset(s,0,sizeof(BtNode));原创 2017-09-26 20:27:12 · 330 阅读 · 0 评论 -
关于二叉树的结点
(1)二叉树单分支结点int SizeOneBrch(BtNode *ptr) //单分支{ if(ptr==NULL) { return 0; } else { if(ptr->leftchild ==NULL&&ptr->rightchild !=NULL) { retur原创 2017-09-26 22:03:30 · 1039 阅读 · 0 评论 -
线索化二叉树
线索化二叉树等于把一棵树转变成一个双向链表,这样对我们插入、删除结点,查找某个结点带来方便。 线索化的过程实质是将二叉链表的空指针改为指向前驱和后继的线索,由于前驱和后继的信息只有在遍历的过程中才能得到。所以,线索化的过程就是在遍历的过程中修改空指针的过程。typedef enum{Link=0,Thread=1} PointTag; //Link=0表示左右孩子指针原创 2017-10-03 20:07:36 · 491 阅读 · 0 评论 -
迷宫算法(java实现)
迷宫问题是栈的典型应用,因此借助栈来实现迷宫问题; *题目描述:用类来解决迷宫路径的查找问题,寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径,0代表可以行走,1代表不能行走,找到,请输入最终的迷宫和路径信息, 找不到,请输出不存在有路径。 例如: * 请输入迷宫的行列数(m * n):5 5 * 请输入迷宫的路径: * 0 0 1 0 0 * 1 0 0 1 0原创 2017-10-29 20:07:09 · 1463 阅读 · 2 评论 -
单链表
(1)单链表:在插入和删除元素的时候比顺序表方便,不需要移动所有元素。单链表的实现class Node{ //创建结点 int value; Node next; public Node(){ this(0); } public Node(int value){ //初始化 this.value=value;原创 2017-10-25 23:35:53 · 305 阅读 · 0 评论 -
子集树与排列树
一、子集树 当所给的问题是从n个元素的集合S中找出满足某种性质的子集时,相应的解空间称为子集树 现需打印序列(长度为n)的全部子集,将问题抽象转化为一棵二叉树. 一个序列的所有子集为2^n,即可看成具有2^n个叶节点的满二叉树,总结点个数为2^(n+1)-1. 需定义额外数组保存当前分支的打印信息(左分支置1,右分支置0) 每遍历完一条分支,打印当前分支序列 如上图:用数组arr=...原创 2018-06-30 22:10:06 · 12769 阅读 · 0 评论
分享