数据结构
文章平均质量分 51
ygbd_26
这个作者很懒,什么都没留下…
展开
-
二叉排序树(二叉搜索树)【C++】
二叉搜索树原创 2022-06-04 16:29:01 · 600 阅读 · 0 评论 -
人不能在一棵【树】上吊着---C++
二叉树原创 2022-06-03 20:43:12 · 109 阅读 · 0 评论 -
数据结构之串匹配算法【BF算法+KMP算法】
学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇原创 2021-03-31 14:13:44 · 374 阅读 · 0 评论 -
数据结构之排序算法及其具体实现【C语言】
学习目标:排序算法(主要是几种内排序算法):一、排序算法的分类二、几种内排序算法的实现与效率分析学习内容:一、排序算法的分类内排序:所有的数据都在内存上冒泡排序选择排序直接插入排序希尔排序堆排序快速排序归并排序基数排序外排序 — 借助磁盘空间(文件)来进行排序 大数据量的排序; eg. 1G个的数据 100M二、各种排序算法的实现【C语言】1.冒泡排序思想:将待排放数据序列的相邻两个数据进行比较,然后将数据大的向后交换,一趟比较之后,就可以将最大的数据交原创 2021-03-30 18:17:48 · 117 阅读 · 0 评论 -
【栈的应用】--- 中缀表达式转后缀表达式
问题描述:如何将中缀表达式转为后缀表达式,首先我们看看他们两者的联系与区别:中缀表达式(或中缀记法)是一个通用的算术或逻辑公式表示方法, 操作符是以中缀形式处于操作数的中间(例:3 + 4),中缀表达式是人们常用的算术表示方法。但是,这种表达让计算机来做运算是不方便的,因此,有后缀表达式:一个表达式E的后缀形式可以如下定义:(1)如果E是一个变量或常量,则E的后缀式是E本身。(2)如果E是E1 op E2形式的表达式,这里op是任何二元操作符,则E的后缀式为E1’ E2’ op,这里E1’和E原创 2021-03-17 16:50:12 · 160 阅读 · 0 评论 -
用两个栈实现一个队列【C语言】
问题描述:考虑用两个栈实现队列这样的特殊结构问题分析提示:这里填写问题的分析:例如:Handler 发送消息有两种方式,分别是 Handler.obtainMessage()和 Handler.sendMessage(),其中 obtainMessage 方式当数据量过大时,由于 MessageQuene 大小也有限,所以当 message 处理不及时时,会造成先传的数据被覆盖,进而导致数据丢失。解决方案:提示:这里填写该问题的具体解决方案:例如:新建一个 Message 对象,并将读取到原创 2021-03-17 15:44:19 · 2050 阅读 · 0 评论 -
数据结构之队列
基本概念队列:和栈都是线性结构区别:限制插入删除的位置与顺序表、链表、栈不同特点:队尾插入、队头删除这里主要实现用的最多的循环队列(实际上还是使用的一位数组)循环队列的实现(C语言)循环队列的结构定义typedef int ElemType;typedef struct Queue //循环队列定义{ ElemType *data; //指向队列空间的指针 int head; //队头指针 int rear; //队尾指针 int原创 2021-03-16 18:54:48 · 96 阅读 · 0 评论 -
数据结构之栈
栈的基本概念栈:就是线性表(线性结构)与顺序表和单链表的区别:限制了插入和删除的位置栈的特点:先进后出,指定在栈顶处进行操作栈的实现(C语言)栈的结构声明typedef char ElemType;typedef struct Stack{ ElemType *stack_low; //存放数据的空间指针 int top; //栈顶指针 int size; //栈的大小}Stack;栈的函数声明一般栈也就是初始化、入栈、原创 2021-03-16 18:38:11 · 81 阅读 · 0 评论 -
数据结构之双向循环链表
双向循环链表的实现【C语言】表示双向循环链表的实现结构的声明:#pragma oncetypedef int elemType;typedef struct Node{ union { int length; elemType data; }; struct Node *prior; struct Node *next;}DoubleCircleList;方法的声明//方法的声明void InitDoubleCircleList(DoubleCir原创 2021-03-07 00:59:16 · 121 阅读 · 0 评论 -
数据结构之双向链表
双向链表的实现【C语言】概念:双向链表还是单链表,其逻辑存储是连续的,但物理存储空间不连续包含数据域、直接前驱域和直接后继域。可以从前向后遍历,也可以从后向前遍历。双链表的实现结构的声明:typedef int elemType;typedef struct Node{ union { int length; elemType data; }; struct Node *prior; struct Node *next;}doublelist;方法的声明原创 2021-03-06 10:29:31 · 94 阅读 · 0 评论 -
数据结构练习之带头结点的单链表
顺序表的实现【C语言】链表和顺序表的区别:链表在逻辑存储上是连续的,在物理存储上是不连续的。单链表属于链表的一种,共有2个域,一个是数据域,一个是指向其后继结点的指针域。例如:32位系统存储10个整型数据(int 4个字节):顺序表存储: 总共需要的堆区空间:40个字节单链表存储: 总共需要的堆区空间:80个字节单链表的实现:头指针型头指针—在代码中会使用二级指针 带头结点的单链表结构声明typedef int elemType;typedef原创 2021-02-24 21:08:03 · 596 阅读 · 0 评论 -
数据结构练习之顺序表
顺序表的实现顺序表概念 顺序表的特点:在逻辑上是连续的,在物理存储空间上也是连续的。 — 数组顺序表中存储的数据元素必须从空间的首位置开始存储,而且必须连续存放,中间不能有空的空间。顺序表的操作:初始化销毁插入删除查找存储元素的个数判空操作判满操作打印内容顺序表的实现声明/*1、结构声明2、宏的声明3、函数声明*///宏的声明#define elemtype int//结构声明typedef struct sq_list{ elemtype*原创 2021-01-31 13:12:22 · 112 阅读 · 0 评论