随笔分类 -  数据结构

摘要:邻接表是图的一种最主要存储结构,用来描述图上的每一个点。 参见http://baike.baidu.com/view/549594.htm 再给你看一下数据结构的课件解释 第二个图是个标准的邻接表实例 右上角是图,共有5个点,v1到v5 按照每个点来建立单链表组成邻接表。 首先 以v1作为头结点,和 阅读全文
posted @ 2015-09-06 16:26 fthjane 阅读(366) 评论(0) 推荐(0) 编辑
摘要:设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为( ) q=p->next ; p->data=q->data ; p->next=q->next ; free(q) 阅读全文
posted @ 2015-09-06 15:59 fthjane 阅读(624) 评论(0) 推荐(0) 编辑
摘要:快速排序的最坏时间复杂度为 ___________ ,平均时间复杂度为 __________ 。 O(n 2 ) , O(nlog 2 n) 阅读全文
posted @ 2015-08-22 09:28 fthjane 阅读(165) 评论(0) 推荐(0) 编辑
摘要:stack.top++ , stack.s[stack.top]=x 阅读全文
posted @ 2015-08-22 09:23 fthjane 阅读(630) 评论(0) 推荐(0) 编辑
摘要:链式存储结构 二叉树的链式存储结构是指,用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。 通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址。其结点结构为: 其中,data域存放某结点的数据信息;lchild与rchild分 阅读全文
posted @ 2015-08-20 20:26 fthjane 阅读(45591) 评论(1) 推荐(1) 编辑
摘要:二叉搜索树的查找——递归算法: bool Find(BTreeNode* BST,ElemType& item) { if (BST==NULL) return false; //查找失败 else { if (item==BST->data){ item=BST->data;//查找成功 retu 阅读全文
posted @ 2015-08-20 19:15 fthjane 阅读(2608) 评论(0) 推荐(0) 编辑
摘要:二叉树作为树的一种,是一种重要的数据结构,也是面试官经常考的东西。昨天看了一 下关于树中的面试题,发现二叉树中的面试题比较常见的题型大概有下面几个:创建一颗二叉树(先序,中序,后序)、遍历一颗二叉树(先序,中序,后序和层次 遍历)、求二叉树中叶子节点的个数、求二叉树的高度、求二叉树中两个节点的最近公 阅读全文
posted @ 2015-08-20 18:34 fthjane 阅读(196) 评论(0) 推荐(0) 编辑
摘要:B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中; 否则,如果查询关键字比结点 阅读全文
posted @ 2015-08-20 16:44 fthjane 阅读(161) 评论(0) 推荐(0) 编辑
摘要:AOE网 克鲁斯卡尔算法 prim算法 AOE网:有向无回路图 克鲁斯卡尔算法: 克鲁斯卡尔算法的时间复杂度为O(eloge)(e为网中边的数目),因此它相对于普里姆算法而言,适合于求边稀疏的网的最小生成树。 克鲁斯卡尔算法从另一途径求网的最小生成树。假设连通网N=(V,{E}),则令最小生成树的初 阅读全文
posted @ 2015-08-20 16:40 fthjane 阅读(1152) 评论(0) 推荐(0) 编辑
摘要:图的邻接表表示法类似于树的孩子链表表示法。对于图G中的每个顶点vi,该方法把所有邻接于vi的顶点vj链成一个带头结点的单链表,这个单链表就称为顶点vi的邻接表(Adjacency List)。 1. 邻接表的结点结构 (1)表结点结构 ┌────┬───┐ │adjvex │next │ └──── 阅读全文
posted @ 2015-08-20 16:39 fthjane 阅读(255) 评论(0) 推荐(0) 编辑
摘要:若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指 针。在这种存储结构中,n个结点的二叉树共有________个指针域,其中有________个指针域是存放了地址,有________________个指针是空指针。 因为有n个节点,每个节点都存了一个lchild,一个rch 阅读全文
posted @ 2015-08-20 16:31 fthjane 阅读(663) 评论(0) 推荐(0) 编辑
摘要:设改树总共有n个节点,则n=n0+n1+n2+n3.该树中除了根节点没有前驱以外,每个节点有且只有一个前驱,因此有n个节点的树的总边数为n-1条.根据度的定义,总边数与度之间的关系为:n-1=0*n0+1*n1+2*n2+3*n3.联立两个方程求解,可以得到n0=6 设立方程的思想: 树的节点总数 阅读全文
posted @ 2015-08-20 16:05 fthjane 阅读(411) 评论(0) 推荐(0) 编辑
摘要:通常从四个方面评价算法的质量:_________、_________、_________和_________。 正确性、易读性、强壮性和高效性 阅读全文
posted @ 2015-08-20 15:45 fthjane 阅读(2585) 评论(0) 推荐(0) 编辑
摘要:各种排序的辅助空间问题 稳定性比较 对n个记录的文件进行快速排序,所需要的辅助存储空间大致为 O(1og2n) 1、 所有的简单排序方法(包括:直接插入、起泡和简单选择)和堆排序的空间复杂度为O(1);2、 快速排序为O(logn ),为栈所需的辅助空间;3、 归并排序所需辅助空间最多,其空间复杂度 阅读全文
posted @ 2015-08-20 15:42 fthjane 阅读(3775) 评论(0) 推荐(0) 编辑
摘要:.各自的特点 .Java表示 . 栈和队列的特点 栈和队列的代码表示(存储方式) 链式栈和线性栈 链式队列和线性队列 双向链表和循环链表 数组的存储方式 排序算法的辅助空间,最好情况和最坏情况的 图和连通图的概念 http://wenku.baidu.com/link?url=iO5vKB6IBQi 阅读全文
posted @ 2015-08-20 15:40 fthjane 阅读(244) 评论(0) 推荐(0) 编辑
摘要:排序算法的基本实现(c语言和java);平均计算次数;时间复杂度 阅读全文
posted @ 2015-08-02 09:59 fthjane 阅读(128) 评论(0) 推荐(0) 编辑