数据结构与算法
文章平均质量分 94
程序 = 数据结构 + 算法
算法是为了解决实际问题而设计的,数据结构是算法需要处理的问题载体
lgcgkCQ
Java小菜鸟
展开
-
数据结构与算法:时间复杂度与空间复杂度
一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度,记为T(n)。一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f (n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。原创 2023-09-26 14:36:37 · 252 阅读 · 0 评论 -
数据结构与算法:排序算法(2)
假设数组中有20个随机整数,取值范围为0~10,要求用最快的速度把这20个整数从小到大进行排序,可以根据这有限的范围,建立一个长度为11的数组。以最大堆为例,如果删除一个最大堆的堆顶(并不是完全删除,而是跟末尾的节点交换位置),经过自我调整,第2大的元素就会被交换上来,成为最大堆的新堆顶。直接遍历数组,输出数组元素的下标值,元素的值是几,就输出几次,输出的数列已经是有序的了。随机值:9,3,5,4,9,1,2,7,8,1,3,6,5,3,4,0,10,9 ,7,9。1. 最大堆的堆顶是整个堆中的最大元素。原创 2023-09-21 15:40:34 · 218 阅读 · 0 评论 -
数据结构与算法:排序算法(1)
快速排序也属于交换排序,通过元素之间的比较和交换位置来达到排序的目的。快速排序则在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成两个部分;这种思路叫做分治法;原创 2023-09-21 10:51:07 · 327 阅读 · 0 评论 -
数据结构与算法:树
在实际场景中,有许多逻辑关系并不是简单的线性关系,常常存在一对多、多对多的关系;其中树和图就是典型的非线性数据结构。原创 2023-09-14 16:16:22 · 1270 阅读 · 0 评论 -
数据结构与算法:数据结构基础
是一种在物理上非连续、非顺序的数据结构,由若干节点组成。原创 2023-09-10 11:46:13 · 440 阅读 · 0 评论 -
数据结构与算法:概述
在数学领域,算法是解决某一类问题的公式和思想;计算机科学领域,是指一系列程序指令,用于解决特定的运算和逻辑问题;原创 2023-09-08 14:19:43 · 393 阅读 · 0 评论