![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
以代码为例子,介绍数据结构和算法的基本内容。
凝重中透着智慧
冲呀冲呀
展开
-
排序算法及时间空间复杂度
排序算法排序算法的介绍排序也称排序算法,是将一组数据依据指定的顺序进行排序的过程排序的分类内部排序外部排序:需要借助外部存储进行排序常见的排序算法分类算法的时间复杂度时间频度:一个算法中的语句执行次数称为时间频度,记为T(n)时间复杂度: 一般情况下,算法中的基本操作语句的重复执行次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数fn),使得当n趋近于无穷大时,T(n)/f(mn)的极限值为不等于零的常数,则称fn)是Tn)的同数量级函数。记作T(n)=O( f(n)),称原创 2020-11-01 22:05:04 · 220 阅读 · 0 评论 -
栈的介绍(用数组模拟栈)
第五章 栈栈的介绍栈的英文为stack栈是一个先入后出的有序列表栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的特殊线性表,允许插入和删除的一端为变化的一端,称为栈顶,,另一端为固定的一端,称为栈底最先放入栈中的元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除图解栈的应用场景1.子程序的调用:在跳往子程序前,会先将下个指令的地址存到堆栈中,直到子程序执行完后再将地址取出,以回到原来的程序中。2.处理递归调用:和子程序的调原创 2020-11-01 08:52:42 · 252 阅读 · 0 评论 -
数组模拟队列的一般思路
对列对列介绍队列是一个有序列表,可以用数组或是链表来实现遵循先入先出的原则,既:先存入队列的数据,要先取出,后存入的要后取出使用数组模拟队列示意图数组模拟队列思路队列本身是有序列表,若使用数组的结构来存储队列的数据,则maxSize是该队列的最大容量因为队列的输出输入,因此需要两个变量front和rear分别记录队列的下标,front会随着数据的输出而改变,而rear则随着数据的输入而改变思路分析将尾指针后移:rear+1 当front=rear队列为空若尾指针rear小原创 2020-10-31 19:40:29 · 114 阅读 · 0 评论 -
稀疏数组介绍
稀疏数组适用场景当一个数组中大部分元素为0,或者为同一个值得数组时,可以使用稀疏数组来保存该数组稀疏数组的处理方法是:记录数组一共有几行几列,有多少不同的值把具有不同值的元素的行列记录在一个小规模的数组中,从而缩小程序的规模二维数组转稀疏数组的思路遍历原始的二维数组,得到有效数据的个数根据sum就可以创建稀疏数组将二维数组的有效数据存入到稀疏数组稀疏数组转原始的二维数组的思路读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组在读取稀疏数组后几行的数据,并赋值给原始原创 2020-10-21 15:09:54 · 95 阅读 · 0 评论 -
数据结构简介
数据结构数据结构包含:线性结构和非线性结构*线性结构线性结构作为最常用的数据结构,其特点是数据结构之间存在一对一的线性关系线性结构有两种不同的存储结构,**既顺序存储(数组)和 链式存储结构(链表)**顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息线性结构常见的有:数组、队列、链表、栈非线性结构非线性结构包括:二维数组、多维数组、广义表、树结构、图结构...原创 2020-10-21 14:51:13 · 60 阅读 · 0 评论