数据结构与算法
文章平均质量分 55
数据结构与算法(C版)
Eccentric_Lee
这个作者很懒,什么都没留下…
展开
-
堆的基本操作
堆的相关操作相关元素的定义:头文件内容:Heap.c中相关接口实现:main.c的相关内容:相关元素的定义:顺序表实现typedef int HPDataType;typedef struct Heap { HPDataType* a; int size; int capacity;}HP;头文件内容:#pragma once#include<stdio.h>#include<stdlib.h>#include<string.h>#inc原创 2021-11-13 11:13:02 · 212 阅读 · 0 评论 -
栈的基本操作
栈栈栈的基本概念:栈的顺序结构:栈的存储结构:栈的初始化:栈的销毁:进栈:出栈:读出栈顶的元素计算栈中的元素个数:判断栈是否为空:完整源码:头文件:Stack.h源文件:Stack.c源文件:main.c栈栈的基本概念:栈是只允许在一端进行插入或删除操作的线性表。栈的顺序结构:栈是一种操作受限于线性表,它也有两种存储方式。我们本次的操作是基于顺序表的结构来实现栈的基本功能。栈的存储结构:typedef struct Stack { STDataType* data; int to原创 2021-10-29 23:34:38 · 310 阅读 · 0 评论 -
双链表的基本操作
双链表可以分为带头的双链表和不带头的双链表而本次是针对带头的循环双链表的基本操作:定义链表中元素的数据类型:typedef int LTDataType;定义链表的基本结构:typedef struct ListNode { LTDataType *data; struct ListNode* next; struct ListNode* prev;}LTNode;初始化双链表:LTNode* ListInit() { //申请头结点 LTNode* phead = (LTN原创 2021-10-29 18:27:11 · 352 阅读 · 0 评论 -
单链表的基本操作
SList.h头文件:#pragma once#include<stdio.h>#include<stdlib.h>#include<assert.h>typedef int SLTDateType;typedef struct SListNode { SLTDateType data; struct SListNode * next;}SLTNode;void SListPrint(SLTNode *phead);void SListPushBac原创 2021-10-28 22:46:42 · 98 阅读 · 0 评论 -
数据结构与算法---顺序表(C版)
顺序表顺序表的认识顺序表概念:顺序表的优缺点:顺序表的基本操作:结构体的定义:初始化顺序表:对顺序表进行扩容:对顺序表进行后插:对顺序表进行前插:对顺序表进行后删:对顺序表进行前删:在顺序表中找出给定值的位置:在顺序表中具体的位置插入元素:在顺序表中具体的位置删除元素:在顺序表中删除特定值的元素:Visual Studio下实现的顺序表的基本操作:头文件:SeqList.h源文件:SeqList.c源文件:main.c顺序表的认识顺序表概念:顺序表: 把线性表中的所有元素按照其逻辑顺序依次存储到计算原创 2021-10-20 16:09:02 · 352 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度
时间复杂度与空间复杂度时间复杂度和空间复杂度的定义:大O渐进法计算时间复杂度的实例计算空间复杂度的实例时间复杂度和空间复杂度的定义:一个算法的好坏的衡量标准要从时间复杂度和空间复杂度两个方面来衡量;时间复杂度主要来衡量一个算法运行的速度的快慢,而时间复杂度是衡量一个算法运行时所需要的额外空间。时间复杂度概念: 算法的时间复杂度是一个函数,定量的描述了算法的运行时间(即一个算法执行所需要消耗的时间)。一个算法的执行时间与其中执行语句的次数成正比例,算法的基本操作的执行数为算法的时间复杂度。空间复杂度原创 2021-10-10 17:29:06 · 303 阅读 · 0 评论