数据结构和算法
fiveym
今天不杀猪️
展开
-
归并排序(merge_sort)
归并排序原创 2022-07-23 16:10:45 · 183 阅读 · 0 评论 -
堆排序(heap-sort)
堆排序原创 2022-07-22 20:42:10 · 254 阅读 · 0 评论 -
快速排序(quick-sort)
每一个partition函数的时间复杂度为logn,一共有n次。所以快速排序的时间复杂度为O(nlogn)(最好情况下)partition函数归位函数,算出中间值的下标位置。原创 2022-07-22 20:32:34 · 199 阅读 · 0 评论 -
排序问题:冒泡排序,选择排序,插入排序
冒泡排序,选择排序,插入排序原创 2022-07-22 11:30:23 · 119 阅读 · 0 评论 -
查找问题:顺序查找与二分法查找
查找在一些数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程列表查找(线性表查找)从列表中找指定元素输入列表,待查找元素输出元素下标(未找到元素时一般返回None或-1)内置表查找函数index()...原创 2022-07-20 21:30:46 · 347 阅读 · 0 评论 -
时间复杂度与复杂度
时间复杂度o(1)o表示一个估值,1代表一个时间运行单位,这个值比较小。(1)时间复杂度O(1),不涉及根本的变化,还是在一次方级别的。这种的时间复杂度记为O(log2n)或O(logn)1.时间复杂是用来估算算法运行时间的一个式子(单位)2.一般来说,时间复杂度高的算法比复杂度低的算法满。O(n^3)表示三层循环,并且依次类推。算法使用了m行n列的二位列表O(mn)算法使用了长度为n的一维列表O(n)(2)时间复杂度为O(n^2)O(n)表示一层循环。...原创 2022-07-20 19:31:10 · 1860 阅读 · 0 评论 -
数据结构与算法 数据结构中时间复杂度和空间复杂度
时间复杂度和空间复杂度事后统计方法:主要通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低。缺陷:必须依据算法事先编制好测试程序,通常花费大量时间和精力。不同测试环境差别比较大事前分析估算方法:在计算机程序编写前,依据统计方法对算法进行高级语言编写的程序在计算机上运行所消耗的时间取决于:1.算法采用的策略,方案2.编译采用的代码质量3.问题的输入规模(输入量的多少)4.机器执行指令的速度函数的渐进增长:给定的两个函数f(n)和g(n原创 2021-12-03 23:32:09 · 334 阅读 · 1 评论 -
《数据结构》数据结构中的逻辑结构和物理结构
1.什么是数据结构? 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。 程序设计=数据结构+算法2.传统上,我们把数据结构分为逻辑结构和物理结构。 逻辑结构:是指数据对象中的数据元素之间的互相关系,也是我们今后最需要关注和讨论的问题。 物理结构:是指数据的逻辑结构在计算机中的存储形式,实际上研究的就是如何将数据元素存储到计算机的储存器中。3.逻辑结构中的四大结构: 集合结构:集合结构中的数据元素除了同属于一个集合转载 2021-12-02 21:35:05 · 1346 阅读 · 0 评论