自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 【数据结构】内部排序

一、概念引入1、排序:将若干记录按关键字以非递减(或非递增)的顺序进行排列的操作。2、(1)正序:记录按关键字以非递减顺序排列。(2)逆序:记录按关键字以非递增顺序排列。(3)稳定性:对任一序列,若序列中关键字相同的记录的先后关系在排序前后总一致,则该排序算法是稳定的。反之,则为不稳定的。3、(1)内部排序:待排序的记录全部存放在内存中。插入排序、快速排序、选择排序、归并排序。(2)外部排序:待排序的记录部分存放在外存中。二、直接插入排序1、算法思想:对{R1,R2,.....,Rn}进行直接插入排序:每次

2022-06-08 20:10:27 193 1

原创 【数据结构】查找

一、基本概念1、查找表的基本操作(1)查询:确定某个“特定的”数据元素是否在查找表中(2)检索:查找并读取某个特定的数据元素的各种属性(3)插入(4)删除2、关键字数据元素中某个(可以标识一个记录的)数据项的值,称为关键字。若关键字可以唯一地标识一个记录,则称此关键字为主关键字,反之称为次关键字(标识若干个记录)。3、查找在一个查找表中找关键字(关键字或者次关键字)等于给定值的某个记录;若找到这样的记录,则查找成功,一般返回该记录的信息或位置;若在表中找不到这样的记录,则查找失败(不成功),一般返回一个错误

2022-06-08 17:03:10 268

原创 【数据结构】图

目录一、图的定义和基本术语二、图的类型定义三、图的存储结构四、图的深度优先搜索与广度优先搜索1、图:G=(V,E)V:顶点(数据元素)的有穷非空集合;E:边的有穷集合。2、无向图:每条边都是无方向的3、有向图:每条边都是有方向的4、完全图:任意两个点都有一条边相连(1)无向完全图:n个顶点,n(n-1)/2条边(2)有向完全图:n个顶点,n(n-1)条边5、稀疏图:有很少边或弧的图(e...

2022-06-08 14:05:40 491

原创 【数据结构】树和二叉树

一、相关术语1、树的定义(1)树是n(n>=0)个结点的有限集。(2)在任意一棵非空树中:·有且仅有一个特定的称为根的结点。·当n>1时,其余结点可分为m(m>1)个互不相交的有限集T1、T2....,Tm,其中每个集合本身又是树,并且称为根的子树。(3)有序树、无序树:如果将树中结点的各子树看成从左至右是有次序的(即不能互换),则称该树为有序树,否则称为无序树。(4)森林:m(m>=0)棵互不相交的树的集合。2、树的性质(1)任何非空树都只有

2022-04-20 09:14:11 238 1

原创 【数据结构】数组和广义表

一、数组的定义1、数组的定义和基本运算(1)数组的特点是每个数据元素可以又是一个线性表结构(2)因此,数组结构可以简单定义为:若线性表中的数据元素(不可再分的原子结构),则称为一维数组,即为向量。(3)若一维数组中的数据元素又是一个一维数组结构,则称为二维数组。(4)依此类推,若二维数组中的元素又是一个一维数组结构,则称作三维数组。(5)数组与线性表的区别与联系:相同之处:它们都是若干个相同数据类型的数据元素a0,a1,a2.......an-1构成的有限序列。不同之处:·

2022-04-19 21:47:00 858

原创 【数据结构】栈和队列

一、栈的定义和特点1、栈的定义:栈是一个特殊的线性表,是限定仅在一端,通常为表尾进行插入和删除的操作。又称为后进先出的线性表,简称LIFO结构。2、栈的相关概念:栈仅在表尾进行插入、删除的操作。1)表尾an称为栈顶TOP;表头a1称为栈底Base。2)入栈:插入元素到栈顶(即表尾)的操作,称为入栈。3)出栈:从栈底(即表尾)删除最后一个元素的操作,称为出栈。4)逻辑结构:与线性表相同,任为一对一关系。5)存储结构:用顺序栈或链栈存储均可,但以顺序栈更常见。6)栈与一般线性表的

2022-03-30 17:01:26 622

原创 【数据结构】第二章 线性表的基本知识及代码实现(2)

一、线性表的链式存储结构1、用一组物理位置任意的存储单元来存放线性表的数据元素2、相关术语:1)结点:数据元素的存储映像,由数据域与指针域两部分组成。2)链表:n个结点由c指针链组成一个链表3)头指针:是指向链表中第一个结点的指针首元结点:是指链表中存储第一个元素的结点头结点:是在链表的首元节点之前附设的一个结点...

2022-03-22 21:41:37 1299 1

原创 【分治算法】用C语言解决快速排序问题

一、分治算法要点1、可分 2、同质 3、有终 4、无关 5、可合二、分治算法的实现1、递归 2、非递归三、快速排序1、快速排序的思想就是从n个元素中任取一个元素(通常为第1个元素))作为基准,将整个数据序列分为两个子序列,小于基准的元素放在前子序列中,大于基准的序列放在后子序列中,并把基准放在两个子序列中间,后对两个子序列反复执行,直到每个子序列为空或只有一个元素为止。2、分治策略如下:1)将原子序列a[s..t]分为a[s,i-1]和a[i+1,t]两个部分,i为基准,将整个问

2022-03-19 22:46:57 2967

原创 【数据结构】第二章 线性表的基本知识及代码实现(1)

一、线性表的定义和特点1、定义:由n(n>=0)个数据元素(结点)组成的有序序列2、逻辑特征:同一线性表中的元素必须具有相同的特性,数据元素之间的关系为线性。线性表是一种典型的线性结构。二、线性表的基本定义1、抽象数据类型的线性表定义如下:ADT List{数据对象:D={ai | ai属于Elemset,(i=1,2,....n)}数据关系:R={<ai-1,ai>,ai-1和ai属于D}数据操作:InitList(&L)等}ADT List

2022-03-19 21:07:06 2219

原创 【递归算法】用C语言实现递归选择排序和冒泡排序

简单选择排序与冒泡排序算法分析

2022-03-18 23:28:22 4007 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除