数据结构
littesss
这个作者很懒,什么都没留下…
展开
-
常见的排序算法
描述:排序算法可谓数据结构模块中的重中之重,常见的哈希表,二叉树,搜索树/平衡树,位图等数据结构只是处理实际问题的抽象方法,实际在处理接受或生成的数据集时,排序算法显得尤其重要,排序算法家族很庞大,其中包括了冒泡排序,选择排序,插入排序,堆排序,快速排序,归并排序,基数排序,计数排序,希尔排序,箱排序,树型排序等众多算法,每种排序都有各自的特性,没有好坏之分,只有在特定的场景使用合适的排序转载 2017-04-25 10:15:15 · 231 阅读 · 0 评论 -
数据结构-栈
一、栈的数据类型 包括三个成员分别是:ElemType * base; size_t capacity; int top; 分别是指向栈首元素的base指针,以及容量capacity 、和栈顶位置top 二、栈的结构表示 三、栈有关的重要函数 1.栈的初始化函数 2.入栈、出栈 入栈:先进后出,首先栈要非满,st->len capacity,最后记得原创 2017-06-15 16:01:51 · 379 阅读 · 0 评论 -
数据结构-链表
一:单链表的结构类型sList sList单链表结构类型中包括:ListNode * first 、ListNode * last 、size_t size 三个成员变量分别是,指向头结点的指针,指向尾部节点的指针,以及链表的大小(即结点的个数)。 而ListNode 链表结点类型的成员包括 data域(数据域)、*next(指针域)指向下一个同样类型结点的指针域。二、链表的原创 2017-06-14 20:42:32 · 767 阅读 · 0 评论 -
数据结构—顺序表
一.顺序表的结构体类型: 包含三个成员。1. * case由于顺序表在内存中的空间是连续的,所以申请一个指向顺序表的base指针,申请一个连续空间可以用下标操作。2. capacity 定义一个容量大小。3. len 定义一个长度,初始化为0,插入一个数据 len++, 删除一个数据 len--。 二.顺序表结构体类型 三.顺序表中重要函数1.尾插push_原创 2017-06-14 10:46:43 · 1938 阅读 · 0 评论 -
二叉树的实现(一)
一、二叉树的结点BintreeNode成员二叉树结点类型中的成员:数据域、左子树、右子树 二叉树类型:只要知道一个根节点root,就可以对整个二叉树结构清晰了解,也可以设置一个结束标识符stop_flag。 初始化二叉树:init_bintree() 二、创建二叉树1.创建二叉树函数,无返回值,设置标识符以标识符结束首先给一个接口函数,通过把二叉树传进来,原创 2017-06-23 09:46:53 · 575 阅读 · 0 评论 -
二叉树的重要函数(二)
1.二叉树的节点个数 注意:返回一个局部变量供给外部函数使用,要是用static 将其定义为全局变量放在堆区,循环一次加一,在遍历左子树,后右子树,最后返回count。2.树的深度(以左右树最大的深度为二叉树的深度) 左子树的高度(包括根节点 )是 high(t->leftChild)+1,右子树的高度(包括根节点)是high(t->rightChild)+1。最后原创 2017-06-23 19:03:23 · 694 阅读 · 0 评论 -
数据结构-树(Tree)的基本概念
1.什么是树:树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做"树"是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。2.树专业术语:节点的度:一个节点含有的子树的个数称为该节点的度;叶节点或终端节点:度为0的节点称为叶节点;非终端节点或分支节点:度不为0的节点;双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节原创 2017-06-22 15:29:55 · 1415 阅读 · 0 评论 -
二叉树的恢复
一、二叉树的恢复:根据前序和中序 或者后序和中序 才能复原二叉树,要恢复二叉树必须知道中序序列,只是知道前序和后序,不能恢复二叉树,因为不知道中序序列无法获知根节点的左右子树位置。二、根据前序和中序恢复二叉树 二叉树还是 这颗二叉树(哈哈)大致思路:create_bintree(二叉树,前序,中序,字符串长度)如果字符串长度 = 0,二叉树就为NULL,否者,在中序中找前序的第一原创 2017-06-30 10:49:20 · 9536 阅读 · 0 评论 -
二叉树遍历-前序中序(非递归)
前序遍历、中序遍历(非递归):需要借助一个栈结构栈结构的头文件:构造一个栈结构,实现栈的基本功能函数入栈、出栈、栈顶元素、判断栈空等函数 二叉树的头文件不变(详情看上一篇层次递归) 前序遍历 中序遍历 控制应用平台的显示: 二叉树原型:原创 2017-06-29 08:12:53 · 440 阅读 · 0 评论 -
二叉树的遍历-层次遍历
层次遍历(level):借助队列实现 ,队列里面的元素存放二叉树的结点地址,队列需要用到的函数,压栈,出栈,判空,获取头元素。队列的头文件:构造队列结构,以及队列基本函数功能的实现 二叉树头文件:用于创建二叉树,层次遍历的实现 主函数中的实现 控制应用平台效果 二叉树原型原创 2017-06-28 20:34:26 · 441 阅读 · 0 评论 -
二叉树的遍历(递归遍历)
一、什么是二叉树的遍历所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。二、二叉树遍历分类遍历:前序遍历(Preorder):根节点----->左节点---->右节点中序遍历(Inordef): 左节点----->根节点---->右节原创 2017-06-28 17:15:58 · 965 阅读 · 0 评论 -
数据结构-栈的应用-符号的匹配
一、括号的匹配假如括号的字符指针为:char *str =")([])(".其思想是:入栈的括号的"期待匹配的迫切程度" ,假如是'('他急切期望与')'匹配 二、代码如下原创 2017-06-16 11:09:54 · 801 阅读 · 0 评论 -
数据结构-队列
一.顺序队列SeqQueue 1.顺序队列结构类型的成员:ElemType * base 、int front、int rear、size_t capacity,分别是base指针,头位置,尾位置,容量。和顺序表操作大致一样,只不过队列只能尾部插入,头部删除,只能使用一次,没多大的实际意义。 2.顺序队列的结构类型表示 3,出栈只需front++; 4.清理和摧毁函数原创 2017-06-15 21:34:09 · 575 阅读 · 0 评论 -
数据结构心得总结(持久更新)
1数据结构学的是数据之间的一种组织架构;2.数据结构主要分为4个部分:线性结构和非线性结构以及排序和搜索,数据结构的所有的学习都在为搜索做基础。 3.数据结构,要清楚数据采用何种类型,他们的基本类型结构由什么构成,该结构有什么特点等。4.编译器(IDE): 集成开发环境(IDE,Integrated Development Environment )5.计算机语言:原创 2017-06-15 20:07:23 · 605 阅读 · 0 评论 -
数据结构-双循环链表
一.双循环列表dcList结构 双循环列表中有三个成员ListNode * first、 ListNode * last、 size_t size , 三个成员变量分别是,指向头结点的指针,指向尾部节点的指针,以及链表的大小(即结点的个数)。 其结点类型多了一个前驱指针 ListNode * prev二.双循环列表的表示 三、双循环列表中的重要函数1.购原创 2017-06-15 11:29:38 · 1503 阅读 · 0 评论