![](https://img-blog.csdnimg.cn/18c12c7b5b7e4095b78cf0ad9b5139d7.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法C程序
文章平均质量分 68
讲解数据结构与算法的相关知识并通过使用C语言去实现。
修成真
修得本心,方能成真。
为学日益,为道日损。损之又损,以至于无为,无为而无不为。
我是一个默默学习的嵌入式修行者。
展开
-
【数据结构与算法】程序的内修
前言数据结构与算法是我们在学习任何一种程序语言后,都要修习的一门学科,掌握数据结构与算法才能使你写出的程序语言具备灵魂,因此它是程序的内功。程序的内修一、数据结构与算法的重要性二、关于修习这门功课的看法三、学习链接一、数据结构与算法的重要性1、它的重要性除了上述的之外,还与你的面试有关,现在一些大厂例如:腾讯、阿里、百度、字节等等,面试都会有【算法题】,掌握数据结构与算法也是进入这些大厂的关键。2、我本人是学习嵌入式的,当时开始学单片机裸机开发的时候,并没有遇到数据结构与算法的问题,随着原创 2022-03-15 15:01:34 · 4204 阅读 · 4 评论 -
【数据结构与算法】程序内功篇一--导论
程序内功篇一--导论一、什么是数据结构1、数据结构的出生2、数据结构的定义二、数据的基本概念1、数据2、数据元素三、数据的结构1、数据的逻辑结构2、数据的存储结构四、总结一、什么是数据结构1、数据结构的出生说到数据结构,我们不得不提到它的创始人,克努特教授,1968年美国克努特教授开创了数据结构的最初体系;随后书籍逐渐火热,被多数计算机工作者尊称为计算机的圣经-《计算机程序设计的艺术》,而克努特教授于1974年荣获图灵奖。2、数据结构的定义总的来说:数据结构是研究计算机数据间的关系;原创 2022-03-07 19:30:00 · 1665 阅读 · 2 评论 -
【数据结构与算法】程序内功篇二--线性顺序表
程序内功篇二--线性顺序表一、线性表顺序存储1、顺序存储结构的表示2、顺序存储结构的特点3、顺序存储结构的表示二、线性表的C程序实现1、线性表的基本运算(1)建立一个空表:list_create(L)(2)删除一个顺序表:list_delete(L)(3)置空表:list_clear(L)(4)判断表是否为空:list_empty (L)(5)求表长:length (L)(6)定位运算:Locate(L,x),确定元素x在表L中的位置(或序号)(7)遍历列表:ergodic(L,x),确定元素x在表L中的位原创 2022-03-08 16:07:30 · 1902 阅读 · 15 评论 -
【数据结构与算法】程序内功篇三--单链表
程序内功篇三--单链表一、线性表的链式存储结构1、链表含义2、结点类型描述3、链表结点用法与创建二、单链表的基本相关算法1、建立单链表2、链表查找3、链表遍历4、链表结点的插入5、链表结点的删除6、链表删除三、相关单链表的题1、单链表倒置2、相邻两结点最大值3、有序排列问题一、线性表的链式存储结构1、链表含义将线性表L=(a0,a1,……,an-1)中各元素分布在存储器的不同存储块,称为结点,通过地址或指针建立元素之间的联系结点的data域存放数据元素ai,而next域是一个指针,指向ai的原创 2022-03-09 21:25:04 · 1076 阅读 · 5 评论 -
【数据结构与算法】程序内功篇四--栈
程序内功篇四--栈一、栈的原理二、顺序栈的实现1、顺序栈原理2、栈的创建3、顺序栈进栈 4、顺序栈出栈5、顺序栈删除6、清空栈与是否清空栈三、链表栈的实现1、栈的单链表实现2、创建空栈3、入栈4、出栈5、删除链表栈6、判断是否为空栈四、栈的应用一、栈的原理栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈)允许进行操作的一端称为“栈顶”另一固定端称为“栈底”当栈中没有元素时称为“空栈”。栈的特点 :后进先出(LIFO)。二、顺序栈的实现有关顺序表的原理及实现看这篇文章原创 2022-03-10 21:00:00 · 1914 阅读 · 1 评论 -
【数据结构与算法】程序内功篇五--队列
程序内功篇五--队列一、队列1、队列原理2、队列演示二、顺序队列>1、顺序队列原理>2、顺序队列的创建>3、顺序队列的入队>4、顺序队列的出队>5、顺序队列的释放>6、顺序队列的清空>7、队列是否为空的判断>8、队列是否为满的判断三、链表队列>1、链表队列的原理>2、链表队列的操作演示>3、链表队列的创建>4、链表队列的入队>5、链表队列的出队>6、链表队列的释放>7、链表队列的清空>8、判断链表队列是否为空四、原创 2022-03-11 19:43:54 · 1257 阅读 · 2 评论 -
【数据结构与算法】程序内功篇六--树
程序内功篇六--树一、树1、树的含义2、树的特点(选看)3、树的逻辑结构二、二叉树1、二叉树的含义2、二叉树性质3、二叉树-顺序存储4、二叉树-链式存储5、二叉树的遍历6、二叉树创建与遍历C程序的实现(1)二叉树的创建(2)前序遍历法(3)中序遍历(4)后序遍历(4)层数遍历三、完整程序链接一、树1、树的含义树(Tree)是n(n≥0)个节点的有限集合T,它满足两个条件 :有且仅有一个特定的称为根(Root)的节点;其余的节点可以分为m(m≥0)个互不相交的有限集合T1、T2、……、Tm,其中每原创 2022-03-12 17:00:54 · 1381 阅读 · 2 评论 -
【数据结构与算法】程序内功篇七--查找与排序
程序内功篇七--查找与排序一、查找1、查找概念2、平均查找长度3、查找方法(1)顺序查找(2)折半查找(3)分块查找(4)Hash表查找(重点)(5)Hash表的程序实行二、排序1、排序的定义2、排序的方法3、快速排序法一、查找1、查找概念设记录表L=(R1 R2……Rn),其中Ri(l≤i≤n)为记录,对给定的某个值k,在表L中确定key=k的记录的过程,称为查找。若表L中存在一个记录Ri的key=k,记为Ri.key=k,则查找成功,返回该记录在表L中的序号i(或Ri 的地址),否则(查原创 2022-03-14 21:59:21 · 1591 阅读 · 1 评论 -
数据结构与算法C程序(7二叉树)
数据结构与算法C程序(7二叉树)1、包含的头文件2、自定义类型3、二叉树类型定义4、操作函数创建函数结点操作二叉树遍历5、主函数测试6、测试结果1、包含的头文件#include<stdio.h>#include<math.h>#include<stdlib.h>2、自定义类型typedef char ElemType;typedef int Status;#define Ture 1#define Error 0#define MAX_TREE原创 2021-10-17 08:30:00 · 162 阅读 · 0 评论 -
数据结构与算法C程序(6顺序链表)
数据结构与算法C程序(6顺序链表)1、包含的头文件2、自定义类型3、顺序队列的定义4、操作函数队列创建入队列出队列销毁队列5、主函数测试6、测试结果1、包含的头文件#include<stdio.h>#include<math.h>#include<stdlib.h>2、自定义类型typedef int ElemType;typedef int Status;#define Ture 1#define Error 0#define MAXSIZE原创 2021-10-16 08:30:00 · 101 阅读 · 0 评论 -
数据结构与算法C程序(5链表队列)
数据结构与算法C程序(5链表队列)1、包含的头文件2、重定义类型3、链表队列的定义4、操作函数队列创建入队列出队列销毁队列主函数测试结果1、包含的头文件#include<stdio.h>#include<math.h>#include<stdlib.h>2、重定义类型typedef char ElemType;typedef int Status;#define Ture 1#define Error 03、链表队列的定义//链表队列的定义原创 2021-10-15 08:30:00 · 101 阅读 · 0 评论 -
数据结构与算法C程序(4栈)
数据结构与算法C程序(4栈)1、包含的头文件2、重定义类型3、栈的定义4、操作函数栈的创建入栈出栈清空栈销毁栈栈的长度主函数测试结果1、包含的头文件#include<stdio.h>#include<math.h>#include<stdlib.h>2、重定义类型typedef int ElemType; //存储类型typedef int Status; //函数类型#define Ture 1#define Error 0#def原创 2021-10-14 08:30:00 · 130 阅读 · 0 评论 -
数据结构与算法C程序(3双链表)
数据结构与算法C程序(3循环双链表)1、包含的头文件2、重定义类型3、元素结构体定义4、操作函数链表创建字母排序主函数测试结果1、包含的头文件#include<stdio.h>#include<math.h>#include <stdlib.h>2、重定义类型typedef char ElemType; //数据类型typedef int Status; //函数类型#define Ture 1#define Error 03、元素结原创 2021-10-13 08:30:00 · 148 阅读 · 0 评论 -
数据结构与算法C程序(2单链表)
数据结构与算法C程序(2单链表)1、包含的头文件2、重定义类型3、链表节点结构体4、操作函数链表创建-头插法链表创建-尾插法节点插入节点删除链表删除5、主函数测试6、测试结果1、包含的头文件#include<stdio.h>#include<math.h>#include <stdlib.h>2、重定义类型typedef int ElemType; //元素类型typedef int Status; //函数返回值类型3、链表节点结构体/*链表节原创 2021-10-12 09:00:00 · 173 阅读 · 0 评论 -
数据结构与算法C程序(1数组)
数据结构与算法C程序(1数组)1、包含的头文件2、宏定义类型3、元素结构体定义4、操作函数元素索引元素查找获取长度数据插入数据删除5、主函数测试6、测试结果1、包含的头文件#include<stdio.h>#include <stdlib.h>2、宏定义类型#define MAXN 1024 //范围#define DataType int //数据类型#define True 1#define Error 03、元素结构体定义/*数组创建*/typedef原创 2021-10-11 13:58:29 · 245 阅读 · 0 评论