![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
文章平均质量分 93
处女座_三月
增长见识, 去见识更加广阔的世界
展开
-
05-算法部分 (数据结构和算法)
二分查找(Binary Search),也叫做折半查找,是一种在有序数组中查找某一特定元素的查找算法。查找过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则查找过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种查找算法每一次比较都使查找范围缩小一半。采用折半查找算法查找关键字为 21 的过程为:找到中间值21比中间值小,则在左半部分找中间值比中间值大,则在右半部分找中间值。原创 2023-07-13 00:37:06 · 372 阅读 · 0 评论 -
04-树 (数据结构和算法)
1、引入之前我们学习过二叉查找树,发现它的查询效率比单纯的链表和数组的查询效率要高很多,最理想的情况下时间复杂度可以达到O(logn),大部分情况下,确实是这样的,但不幸的是,在最坏情况下,二叉查找树的性能还是很糟糕。例如我们依次往二叉查找树中插入9,8,7,6,5,4,3,2,1这9个数据,那么最终构造出来的树是长得下面这个样子:在极端的情况下,二分查找树可能会退化成为链表,我们会发现,如果我们要查找1这个元素,查找的效率依旧会很低。原创 2023-07-13 00:16:35 · 460 阅读 · 0 评论 -
03-栈和队列 (数据结构和算法)
需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。我们称数据进入到栈的动作为。原创 2023-07-12 23:32:43 · 350 阅读 · 0 评论 -
02-链表 (数据结构和算法)
线性表的链式存储结构(也称之为链表)的特点是逻辑关系上相邻的两个数据元素在物理位置上不一定是相邻的,换言之数据元素在存储器中的位置可以是任意的。为了表示每个数据元素ai与其直接后继 ai+1之间的逻辑关系,对于数据元素ai来说,除了存储其本身的信息外,还需存储一个能够保存直接后继的存储位置的指针,这两部分信息组成数据元素ai的存储映像,我们称之为结点(node)。,双向链表的头结点中数据域不存储实际数据元素,并且直接前驱指针域为空(因为头结点没有直接前驱结点)头指针保存了链表中头结点的存储位置。原创 2023-07-11 00:14:23 · 481 阅读 · 0 评论 -
01-线性表 (数据结构和算法)
程序 =数据结构 + 算法数据结构:计算机存储、组织数据的方式算法:处理数据的方式1、线性表是一种典型的线性结构:则有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。2、线性结构表达式3、线性结构特点只有一个首结点和尾结点除首尾结点外,其他结点只有一个直接前驱和一个直接后继简言之,线性结构反映结点间的逻辑关系是一对一的。4、线性结构包括线性表、堆栈、队列、字符串、数组等等。线性表是最基本、最简单、也是最常用的一种数据结构。原创 2023-07-10 23:39:57 · 317 阅读 · 0 评论