
数据结构
文章平均质量分 58
聆心雨落
高级web前端开发
展开
-
单链表各种操作
终于自己写出了关于单链表的操作,而不是看别人的,现在编程越来越有感觉了,自己编更好,别人的还看不懂,不知道他们的思路是什么单链表的建立,插入,删除,排序,求长度。插入是按大小顺序插入的。 #include #include struct node{原创 2011-10-04 11:55:23 · 609 阅读 · 0 评论 -
B 树概念
B树是一种平衡多路查找树,在文件系统中很有用一颗m阶的b 树,或为空树,或满足下列特性的m叉树(1)树中每个节点至多有m颗子树。(2)若根节点不是叶子节点。则至少有2颗子树、(3)除根节点之外的非终节点,至少有【m/2】颗子树(4)所有的非终端节点包含(n,i原创 2011-10-06 13:09:51 · 738 阅读 · 0 评论 -
dijstra算法 c语言实现
看来群的作用真的很大啊刚才为了一下,发现自己的抽象思维能力简直为0总以为没有办法处理集合,然后群里面的人说可以用bool 数组,然后研究了一下,果然可以算法描述的时候说集合的并啊,减啊,在c语言里,用个bool数组就可以, 刚开始初始化为false然后进来一个原创 2011-10-08 14:57:45 · 3168 阅读 · 1 评论 -
图的邻接表存储 c实现
用到的数据结构是一个是顶点表,包括顶点和指向下一个邻接点的指针一个是边表, 数据结构跟顶点不同,存储的是顶点的序号,和指向下一个的指针刚开始的时候把顶点表初始化,指针指向null。然后边表插入进来,是插入到前一个,也就是直接插入到firstedge指向的下一个,而后面原创 2011-10-07 10:34:30 · 59784 阅读 · 8 评论 -
哈希表,哈希算法,MD5加密算法初识
在线性表,树等,记录在结构中的相对位置是随机的,和纪录的关键字之间不存在确定的关系,因此,在结构中查找记录是需要进行一列列和关键字的比较。这一类查找方法建立在比较的基础上,在顺序查找时,比较的结果为=与不等于两种可能,在折半查找,二叉排序树查找和B树查找时,比较的结果为小于,原创 2011-10-06 12:46:45 · 2184 阅读 · 1 评论 -
二叉查找树及平衡二叉查找树
转自 http://www.cppblog.com/guogangj/archive/2009/10/26/99502.html博客写的数据结构方面或者其他方面的文章都挺好的,看看 这篇将是最有难度和挑战性的一篇,做好心理准备!十、二叉查找树(BST)前转载 2011-10-05 22:09:39 · 813 阅读 · 0 评论 -
dijkstra 算法理解
求有向图中一个源点到其他顶点的最短距离自己的理解:刚开始的时候相当于有三个集合V={a,b,c,d,e} 顶点集合S{ a} 已求得的最短距离顶点集合,假设求a到其他顶点的最短距离S'{ b,c,d,e} 剩余顶点集合D[ ] 存储的是最短距离值原创 2011-10-08 14:12:33 · 1094 阅读 · 0 评论 -
【总结】邻接矩阵 图的基本操作
#include #include #define MaxVertexNum 100typedef int VertexType ; //由用户定义顶点类型typedef int EdgeType; //由用户定义边上的权值类型typedef原创 2011-10-08 12:02:30 · 3557 阅读 · 0 评论 -
图的邻接表 邻接矩阵 深度优先遍历DFS
邻接表的深度优先遍历 void DFSTraverse(ALGraph* G){ int i; for (i=0;in;i++) visited[i]=false; for (i=0;in;i++) //确保每一个顶点都遍历过,如果有孤立的也可以原创 2011-10-07 12:32:06 · 6061 阅读 · 1 评论 -
二叉树概念
概念,操作(建立,插入,删除,遍历)前序遍历,中序遍历,后序遍历 分类:满二叉树,完全二叉树,最优二叉树(哈弗曼树) 二叉查找树,是指左孩子小于根节点,右节点大于根节点.它的插入删除很麻烦 平衡二叉查找树AVL,左右节点的差的绝对值小于等于1原创 2011-10-05 22:36:05 · 1198 阅读 · 0 评论 -
大数相加、相乘 字符串处理
。。。。稍后原创 2011-10-05 14:40:31 · 630 阅读 · 0 评论 -
循环链表实现 约瑟夫环
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始从1报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。与下一个人继续报数,则下个是m的倍数的原创 2011-10-05 14:23:37 · 774 阅读 · 0 评论 -
插入排序和快速排序
插入排序是指,从前往后依次排好序,后面的元素插进来的时候,就找到比她小的,然后后面的往后移,插入进去。i从1开始往后,j在它的前面,依次往前找大的往后移,然后把元素插入进去。void insert( int number[], int count){ int原创 2011-10-01 16:39:02 · 1011 阅读 · 0 评论 -
图的邻接矩阵存储 编程实现
首先看图的邻接矩阵表示用到的数据结构#define MaxVertexNum 100typedef char VertexType ; //由用户定义顶点类型typedef int EdgeType; //由用户定义边上的权值类型typedef原创 2011-10-07 10:28:06 · 4703 阅读 · 1 评论