![](https://img-blog.csdnimg.cn/20210408093422665.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构和算法
文章平均质量分 78
只要我想的少, 快乐就会追着我跑!
火的信仰叫梦想ii*
你走的每一步,都藏着未来的影子!
展开
-
DS_(1. 数据结构(Data Structure))
1. 数据结构(Data Structure)1.1 数据结构的定义 1.1.1 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作等的学科. 1.1.2 1968年美国唐.欧.克努特教授开创了"数据结构"的最初体系. 1.1.3 "数据结构"是介于数学,计算机硬件和计算机软件三者之间的一门核心课程. 1.1.4 数据结构是相互之间存在一种或多种特定关系...原创 2019-10-10 12:56:13 · 1060 阅读 · 0 评论 -
DS_(2. 算法和算法分析(Algorithm))
2. 算法和算法分析(Algorithm)2.1 五个特性 2.1.1 有穷性 一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都在有穷时间内完成. 2.1.2 确定性 算法中的每一条指令必须有确切的含义,使读者理解时不会产生二义性.并且,在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的结果. 2.1.3 可行性 一个算法是能行的,即...原创 2019-10-10 12:57:24 · 318 阅读 · 0 评论 -
DS_(3. 线性表(Linear List))
3. 线性表(Linear List)3.1 定义 (1) 是n个具有相同特性的数据元素的有限序列,常见的有:顺序表,链表,栈,队列,字符串... (2) 线性表在逻辑上是线性结构,即连续的一条线;但在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储.3.2 线性结构的特点 条件: 在数据元素的非空有限集中; (1) 存在唯一的一个被称作"第一个"的数据...原创 2019-10-10 12:58:12 · 128 阅读 · 0 评论 -
DS_(4. 栈和队列(Stack,Queue))
4. 栈和队列(Stack,Queue)4.1 特殊的线性结构 4.1.1 从数据角度看,栈和队列的基本操作是线性表操作的子集,它们是操作受限制的线性表,可称为限定性的数据结构; 4.1.2 从数据类型的角度看,他们适合线性表大不相同的两类重要的抽象数据类型.4.2 栈(stack) 4.2.1 定义 (1) 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作. (2)...原创 2019-10-10 12:58:55 · 332 阅读 · 0 评论 -
DS_(5. 串(字符串))
5. 串(字符串)5.1 串类型的定义 5.1.1 串的定义 是由零个或多个字符串组成的有限序列,一般记为:s ='a1a2....an'(n>=0),其中s是串的名,用单引号阔气来的字符序列是串的值;ai(1=<i<=n)可以是字母,数字或其他字符; 5.1.2 长度 串中字符的数目n称为串的长度; 5.1.3 空串 零个字符的串称为空串(null stri...原创 2019-10-10 12:59:42 · 172 阅读 · 0 评论 -
DS_(6. 数组和广义表)
6. 数组和广义表6.1 数组的定义6.2 数组的顺序表示和实现(以二维数组为例) (1) 以列序为主序的存储方式; (2) 以行序为主序的存储方式.6.3 矩阵的压缩存储 压缩存储:为多个值相同的元只分配了一个存储空间,对零元不分配空间. 6.3.1 特殊矩阵 假若值相同的元素或者零元素在矩阵中的分布有一定的规律. 6.3.2 稀疏矩阵 反之称之为稀疏矩阵.6.4 广义...原创 2019-10-10 13:00:27 · 116 阅读 · 0 评论 -
DS_(7.数和二叉树)
7.数和二叉树7.1 树 7.1.1 树的定义和基本术语 (1) 树 是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合;把它叫做树是因为它看起来像一颗倒挂的树,也就说说它是根朝上,而叶是朝下的. (2) 结点的度(Degree) 树的结点包含一个数据元素以及若干指向其子树的分支,结点拥有的子树树称为结点的度; (3) 非终端结点或分...原创 2019-10-10 13:01:00 · 150 阅读 · 0 评论 -
DS_(8. 图)
8. 图8.1 图的定义和术语 8.1.1 图的定义 图是一种线性表和树更为复杂的数据结构,在线性表中,数据元素之间仅有线性关系,每个数据元素只有一个前驱和一个直接后继; 在树形结构中,数据元素之间有着明显的层次关系,并且每一层上的数据元素可能和下一层中多个元素(其孩子结点)相关,但只能和上一层中一个元素(即其双亲结点)相关; 在图形结构中,结点之间的关系可以是任意的,图中任意两个...原创 2019-10-10 13:01:35 · 86 阅读 · 0 评论 -
DS_(9. 动态内存管理)
9. 动态内存管理9.1概述 9.1.1 动态存储管理的基本问题 (1) 系统如何对应用用户提出的"请求"分配内存? (2) 如何回收那些用户不再使用而"释放"的内存,以备新的"请求"产生时重新进行分配? 9.1.2 "占用块"和"空闲块" "占用块":将系统已分配给用户使用的地址连续的内存区; "空闲块"或"可利用空间块":称曾未曾分配的地址连续的内存区. 9.1.3 动...原创 2019-10-10 13:02:25 · 147 阅读 · 0 评论 -
DS_(10. 查找)
10. 查找10.1 术语 10.1.1 查找表 是由同一类型的数据元素(或记录)构成的集合. 10.1.2 对查找表进行的操作 (1) 查询某个"特定的"数据元素是否在查找表中; (2) 检索某个"特定的"数据元素的各种属性; (3) 在查找表中插入一个数据元素; (4) 从查找表中删去某个数据元素. 10.1.3 静态查找表 若对查找表值作前两种统称为"查找"的...原创 2019-10-10 13:03:04 · 136 阅读 · 0 评论 -
DS_(11. 内部排序/12.外部排序)
11. 内部排序11.1排序的定义 11.1.1 排序 就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作 11.1.2 稳定性 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次 序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排 序算法是稳定...原创 2019-10-10 13:04:17 · 146 阅读 · 0 评论 -
DS_(13.文件)
13.文件13.1有关文件堆的基本概念 13.1.1 文件的定义 (1) 和表类似,文件是大量记录的集合,习惯上称存储在主存储器(内存储器)中的记录集合为表,称存储在二级存储器(外存储器)中的记录集合为文件. (2) 文件是由大量性质相同的记录组成的集合. 13.1.2 文件的操作:检索和修改 文件的检索:(1) 顺序存取:存取下一个逻辑地址; (2) 直接存取:存取第i个逻...原创 2019-10-10 13:04:51 · 147 阅读 · 0 评论 -
DS_2019_5_25(Sort的基本操作)
没有一代人的青春是容易的.每一代都有每一代人宿命,委屈,挣扎,奋斗,没什么可抱怨的!–白岩松1.Sort.h#pragma once//打印数组元素void PrintArray(int* array, int size);//插入排序void InsertSort(int* array, int size);//交换void Swap(int* pLeft, int*...原创 2019-08-23 22:56:36 · 228 阅读 · 0 评论 -
DS_2019_4_24(无头单项非循环链表的增,删,改,查)
如果有来生,原做一只鸟,飞越永恒,没有迷途的苦恼.东方有火红的希望,南方有温暖的巢床,向西逐退残阳,向北唤醒芬芳.如果有来生,希望每次相遇,都能化为永恒.–三毛1. SList.h#pragma oncetypedef int SDataType;// 链表的节点typedef struct SListNode{ SDataType _data; struct SList...原创 2019-04-30 23:27:43 · 154 阅读 · 0 评论 -
DS_4_29(带头节点双向循环链表增,删,改,查的实现)
这里是引用1. DList.h#pragma oncetypedef int DLDataType; //双向链表结构体名称typedef struct DListNode{ struct DListNode* _pNext; //指向当前节点的下一个 struct DListNode* _pP...原创 2019-05-01 23:20:59 · 125 阅读 · 0 评论 -
DS_2019_5_12(栈Stack)
所有渴望别人理解的行为都是弱者的行为.人的第一步要学会孤独;第二步要学会不理解;第三步就是用结果去碾压!1.Stack.h#pragma oncetypedef int SDataType;typedef struct Stack{ SDataType* _array; int _capacity; int _size; //表示栈中有效元素的个数 代表栈顶...原创 2019-05-17 15:58:42 · 136 阅读 · 0 评论 -
DS_2019_5_12(栈和队列面试题)
我不知道怎样的结局,才能配得上这一路的颠沛流离.趁着你的能力还能撑得起你的野心,那就只顾着风雨兼程!#include <stdio.h>#include <stdlib.h>#pragma once//1.括号匹配问题//解题思路:遍历字符串, 遇到一个字符:a.如果该括号是左括号("([{"), 入栈;b.如果该括号不是左括号, 检查该括号是否匹配...原创 2019-05-17 16:06:00 · 210 阅读 · 0 评论 -
DS_2019_5_13(队列Queue)
生命是一种缘,你刻意追求的东西也许终身得不到,而你不曾期遇的灿烂,反而会在你的淡泊从容中不期而遇!1.Queue.h#pragma oncetypedef int QDataType;typedef struct QNode{ struct QNode* _pNext; QDataType _data;}QNode;typedef struct Queue{ QNod...原创 2019-05-17 16:12:26 · 216 阅读 · 0 评论 -
DS_2019_5_8(链表面试题)
钟表,可以回到起点,却已不是昨天;日历,撕下一页简单,把我一天很难.若是美好,叫做精彩;若是槽糕,叫做经历.缘分万千,顺其自然;以心换心,才能永远!//链表面试题#include <stdio.h>#include <stdlib.h>#pragma once1.删除链表中等于给定值 val 的所有结点。示例 :输入 : 1->2->...原创 2019-05-17 16:17:17 · 234 阅读 · 0 评论 -
DS_2019_5_17(二叉树BinTree的基本操作)
沟通的目的不在于自己表达了什么,而在于对方给到你的反馈,自由了解了对方反馈,才能真正达到沟通的目的!1.BinTree.h#pragma once//二叉树的链式存储方式--孩子表示法typedef int BTDataType;typedef struct BTNode{ struct BTNode* _pLeft; struct BTNode* _pRight; BT...原创 2019-05-22 11:48:39 · 558 阅读 · 0 评论 -
DS_2019_5_19(二叉树的面试题)
对于成长,年龄不是记号,责任才是标志,长大就是一种勇气和担当。成长是生命的延续、责任的延续!–林海音//1.二叉树的前序遍历.typedef struct TreeNode Node;//Res指用来保存树里面每一个结点的内存空间//index向空间哪一个位置保存void _PreOrder(Node* pRoot, int* pRes, int* index){ if (pR...原创 2019-05-22 11:53:03 · 168 阅读 · 0 评论 -
DS_2019_4_20(时间复杂度和空间复杂度)
我希望有个如你你一般的人;如山间清晨一般明亮清爽的人,如奔赴古城道路上阳光一般的人,温暖而不炙热,覆盖我所有肌肤。由起点到夜晚,由山野到书房,一切问题的答案都很简单。我希望有个如你一般的人,贯彻未来,数遍生命的公路牌!–张嘉佳《从你的全世界路过》1. 算法和算法分析思维导图2. 算法2.1 算法的定义对特定问题求解步骤的一种描述。2.2 算法的五个特性2.2.1 有穷性...原创 2019-06-18 18:42:09 · 233 阅读 · 0 评论 -
DS_2019_5_20(Heap的基本操作)
我越是孤独,越是没有朋友,越是没有支持,我就得越尊重我自己——勃朗特《简爱》1. Heap.h#pragma once typedef int HPDataType; //堆里面存储的元素是整形的typedef int(*PCOM)(HPDataType, HPDataType);typedef struct Heap{ HPDataType* _...原创 2019-08-23 22:31:16 · 175 阅读 · 0 评论 -
DS_2019_4_22(线性表--顺序表的基本增,删,改,查接口)
跟着人群走是一种选择,一种安全的选择,跟着爱好走,跟着理想走,是冒险的选择,有不可预料的功夫和失败等在前面,但因为年轻,选择得起,失败得起,可预料的未来反而无趣!–严歌苓1. 头文件#pragma oncetypedef int DataType;typedef struct SeqList{ DataType* _array; int _capacity; ...原创 2019-06-26 09:08:57 · 191 阅读 · 0 评论