
数据结构
夜猫子~~~
这个作者很懒,什么都没留下…
展开
-
数据结构之排序(C语言实现,插入,希尔,归并,快排)
文章目录排序插入排序希尔排序归并排序排序插入排序算法实现:直接插入排序是一种最简单的插入排序。插入排序:每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,知道全部插入完成。从其他文章上看到一个很好的打牌的例子。假设你有6,5,3,7,4张牌,从5开始移动,第一趟移动一次,将5置于6前(56374),第二趟从3开始移动,移动两次移动到5之前(35674),第三趟7比6大不移动,第四趟4移动3次到5之前,好了连就凑好了。可以看出,n个数就需要排n-1趟。假设一组数中,有N个原创 2020-07-19 10:54:21 · 637 阅读 · 0 评论 -
avl树(带有平衡条件的二叉查找树)—C
文章目录二叉查找树avl树的创建代码实现(递归)代码测试二叉查找树如图为二叉查找树:1.左子树的所有节点小于根节点2.右子树的所有节点大于根节点3.左右子树均为二叉查找树关于二叉查找树的创建可以参考下面这个文章:二叉查找树的创建和基本操作—c语言引入avl树的原因:二叉查找树的特点就是能够快速查找数据,如上图,若查找2,则从左子树开始查找,若查找8,则从右子树查找。所以说,二叉查找...原创 2020-04-26 23:24:14 · 205 阅读 · 0 评论 -
二叉查找树的创建和基本操作—c语言
二叉查找树:1.左子树的所有节点小于根节点2.右子树的所有节点大于根节点3.左右子树均为二叉查找树思想:1.各种操作均利用递归来实现2。基本操作有创建,插入,删除,查找元素,最大值最小值这里对删除操作进行解释删除:(1)若所要删除的节点为叶子结点(没有孩子),直接删除该节点。(2)若所要删除的节点有一个孩子结点,则孩子结点代替所要删除的节点。以左孩子为例:(3)当所删节点有两个...原创 2020-04-22 00:01:41 · 964 阅读 · 0 评论 -
表达式二叉树构造和遍历(C)
文章目录思想代码实现思想1.将输入的中缀表达式转化为后缀表达式。2.用后缀表达式构造表达式二叉树。3.检验二叉树是否创建成功。采用的是递归遍历,三种常规遍历先中后序遍历。4.后缀表达转换:优先级±</<^<(),当a中的字符为数字时直接放入b,为运算符时根据优先级入栈(S1),优先级高的位于栈顶。()运算符较为特殊,当遇到左括号时入栈,直到遇到右括号才出栈,且出栈是括...原创 2020-04-06 21:13:19 · 1143 阅读 · 1 评论 -
数据结构之循环队列(C语言实现)
#include<stdio.h>#include<stdlib.h>typedef struct QueueRecord { int Capacity; int Front; int Rear; int* array;}*Queue;int IsEmpty(Queue Q);//判断队是否为空int IsFull(Queue Q)...原创 2020-04-03 10:45:53 · 186 阅读 · 0 评论 -
栈的应用:中缀转后缀(逆波兰)实现简易计算器(C)
思想:1.先将字符串的中缀白表达式转化为后缀表达式,然后利用后缀表达式将数字字符串转为整型,利用后缀表达式进行计算。2.实现步骤:首先需要创建两个栈,一个栈(s1)存放字符串,一个栈(s2)存放浮点数,两个数组a,b。进行中缀转后缀的过程时,先将输入的字符串存入数组a中,从a中抽取字符,经过转换(转换过程利用栈S1)存入数组b中。进行后缀的计算时,从b中抽取字符,将数字字符转化为整型,利用栈S...原创 2020-03-27 17:21:47 · 233 阅读 · 0 评论 -
C语言栈的实现(链表和数组)
文章目录思想链式栈数组栈参考书籍思想思想:1、栈模型:基本操作有Push(入栈)和Pop(出栈),元素符合先进后出,即最先入栈的元素最后出栈。2、链式:主要以链表的形式构成一个栈。入栈即是采用头插法构造链表(符合先进后出),出栈只要遍历链表即可,并记录栈顶元素。最后将链表释放。3、数组:首先我们可以直接使用数组(array)构造栈,利用top(初始化为-1),元素进栈则top+1,arr...原创 2020-03-23 18:46:58 · 500 阅读 · 0 评论 -
链表实现基数排序(C语言)
基数排序原创 2020-03-21 19:00:43 · 955 阅读 · 0 评论 -
链表实现多项式相加(C语言)
参考有浙江大学的慕课:浙江大学慕课基本思路(如图):代码实现:其中排序方式使用的是冒泡排序(时间复杂度O(n^2))相对其他排序方式更容易理解,也可以使用其他排序方式。最近看了一片介绍用链表实现排序方式比较详细的博客,可以参考。链表排序#include<stdio.h>#include<stdlib.h>#define LENGTH sizeof(struc...原创 2020-03-11 18:09:30 · 4099 阅读 · 1 评论 -
数据结构链表的基本操作(c语言)
这里有一篇在知乎上写的文章,不想复制粘贴了,请谅解。链表基本操作原创 2020-03-11 17:39:48 · 206 阅读 · 0 评论