数据结构【初级】
文章平均质量分 89
Brant_zero2022
及时当勉励
展开
-
八大排序算法—源代码(c语言)
插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 归并排序 计数排序八大排序算法,插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 归并排序 计数排序八大排序算法,插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 归并排序 计数排序八大排序算法,插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 归并排序 计数排序八大排序算法,插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 归并排序 计数排序八大排序算法的C语言实现。...原创 2022-07-15 21:33:55 · 3323 阅读 · 1 评论 -
冒泡排序、选择排序、计数排序(C语言实现)
快来学会这三个简单的排序,代码量少,实现简单,有突发想处理小段数据时再合适不过了,特别适合新手学习的三个简单排序算法,你确定不来看看吗~原创 2022-07-14 16:29:47 · 1337 阅读 · 3 评论 -
归并排序——动图+逐步讲解(C语言)
归并排序(Merge-Sort)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有 序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。效果演示:先来看看流程图:3.2 处理越界修正边界法:多步拷贝法:......原创 2022-07-14 10:33:04 · 3379 阅读 · 2 评论 -
快速排序(快排) (C语言实现)
本篇博客学习内容是快速排序,快速排序有多种不同的版本和优化,我们这次的目的就是将这些版本都搞明白,废话不多说,我们开始。原创 2022-07-11 22:06:46 · 41718 阅读 · 12 评论 -
插入排序、希尔排序—动图演示+代码展示【C语言】
在上篇文章中我们实现了堆排序(堆排序与Top-K),是一种效率非常高的排序,接下来我们来学习另外两种排序,插入排序和希尔排序 。原创 2022-07-08 19:54:52 · 572 阅读 · 0 评论 -
【数据结构】堆排序与Top-K问题
在上篇文章了解了堆的基本功能后,我们便可以使用堆来实现其独特的功能——堆排序与Top-K问题,我们一起来往下学习。原创 2022-07-07 19:31:09 · 643 阅读 · 0 评论 -
【数据结构】堆的基本操作
本篇博客主要来介绍堆的基本结构和操作,其中重要的点在于堆的向上调整和向下调整的实现,这两个函数的实现是堆这个数据结构最核心的地方,也是后面我们实现堆排序和TOP-K问题的关键。原创 2022-07-06 22:05:31 · 1100 阅读 · 0 评论 -
二叉树的基本概念和性质
树是一种非线性的数据结构,他是由n(n>=0)个有限结点组成的一个具有层次关系的集合。叫做树是因为其结构像一颗倒挂的树,即根朝上,而叶朝下。有一个特殊的节点,称为根节点,根结点没有前驱结点。除了根节点,其余结点被分成M(M>0)个互不相交的集合T1、T2……Tn,其中每一个集合Ti(1 ......原创 2022-07-04 22:12:33 · 594 阅读 · 0 评论 -
链式二叉树的基本操作(C语言实现)
本篇博客学习的是最普通的链式二叉树,这个结构在实际应用的中的作用并不是很大,但是我们仍要学习这个结构。学习这个结构的目的是为了以后我们研究更复杂的树型结构打下基础。废话不多说,直接开始。...原创 2022-07-05 11:40:08 · 1787 阅读 · 0 评论 -
leetcode622.设计循环队列(C语言)
实现一个循环的队列,其特性队列的先进先出(FIFO)原则,队尾被连接在队首之后以形成一个循环,该题目即为实现其功能。①创建一个大小为k+1的数组。使用head和tail两个变量来记录数组中数据的变化;②存入数据时,tail指针向后移动;删除数据时,head指针向前移动。③因为要存放k个数据,我们开辟k+1的空间的目的就是防止存入数据时发生了覆盖,当tail+1==head时即表示队列存满。...原创 2022-06-30 17:40:18 · 761 阅读 · 0 评论 -
用栈实现队列、用队列实现栈(C语言_leetcode_232+225)
前两天实现了栈和队列,现在做两道经典的例题来巩固所学的知识。题目链接:232. 用栈实现队列 - 力扣(LeetCode)225. 用队列实现栈 - 力扣(LeetCode)原创 2022-06-29 12:00:35 · 483 阅读 · 0 评论 -
队列的基本操作(C语言实现)
本篇博客带来栈的好兄弟——队列。 接下来我们来看看此次要实现的队列基本操作。原创 2022-06-28 13:04:20 · 6371 阅读 · 0 评论 -
栈的基本操作(C语言实现)
期末终于结束,接下来就会继续更新数据结构相关的内容了,本篇文章带来数据结构——栈,来实现它的基本功能。难度偏低,因为之前我们已经实现过顺序表了,栈不过是顺序表的一种特殊形式。接下来我们来看看我们栈的类型定义以及我们此次要实现的功能。...原创 2022-06-27 18:29:22 · 11452 阅读 · 0 评论 -
带头双向循环链表的基本实现(C语言实现)
在上篇链表的介绍里已经说过了,带头双向循环链表也是一种十分常见的结构,这种结构比简单的单链表复杂一些,但是功能性更强,且在实际运用中更加常见。接下来我们就来实现一下它的基本功能,并且看一下这种结构相较于单链表有什么优势。先来看看此次带头双向循环链表我们实现的具体功能以及结构体变量的定义。一、头文件#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <stdbool.h&原创 2022-05-30 10:00:00 · 451 阅读 · 2 评论 -
单链表的基本操作
一、链表的概念与结构概念:链表是一种物理存储结构上非连续、非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。1.2 链表结构的存储方式链表存储结构可以用逻辑结构和物理结构来表示,这里我们看看这两种方式下链表的形式。逻辑结构:物理结构:二、链表的分类...原创 2022-05-27 00:20:23 · 1693 阅读 · 0 评论 -
【数据结构】顺序表
在学习完时间复杂度和空间复杂度后,我们便开始正式实现一些数据结构了。本篇文章实现的是线性表中的顺序表。我们首先要创建三个文件,一个头文件,一个实现函数的.c文件,还有主函数.c文件。接下来我们来看看头文件,头文件中包含了本篇博客我们将要实现的顺序表功能——增删查改.一、头文件二、函数实现...原创 2022-05-22 00:58:08 · 363 阅读 · 0 评论 -
【数据结构】时间复杂度和空间复杂度
如何衡量一个算法的好坏?时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。原创 2022-05-19 16:47:28 · 1308 阅读 · 1 评论