数据结构
扶公瑾以苏
这个作者很懒,什么都没留下…
展开
-
有序数组和无序数组的增删查改时间复杂度分析
有序数组:添加数据:查找插入位置用二分查找是O(log2n)。但是数组的插入操作为了保证有序性需要将插入位置后的元素全部后移一位,这需要O(n)。所以总的时间复杂度是O(n)。( O(log2n)+O(n)=O(n) )删除数据: 使用二分查找找到删除位置,再把删除位置后的所有元素前移一位。总时间复杂度:O(logn)+O(n)=O(n)查找数据: 二分法查找数据...原创 2018-09-25 23:11:14 · 4599 阅读 · 1 评论 -
二分算法和冒泡排序时间复杂度分析
其实这里的底数对于研究程序运行效率不重要,写代码时要考虑的是数据规模n对程序运行效率的影响,常数部分则忽略,同样的,如果不同时间复杂度的倍数关系为常数,那也可以近似认为两者为同一量级的时间复杂度。二分查找:二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x<a[n/2],则只要在数组a的左半部分继续搜索...原创 2018-09-25 22:43:03 · 7263 阅读 · 0 评论 -
数据结构简介及入门基础
一切学习的本质都是从生活中的实际问题出发。当我们遇到一个问题,先需要解决两个问题:如何将数据储存在计算机中。 用什么方法策略解决问题。前者所指便是数据结构,后者便是算法。两者相互依存,单独存在没有意义。为什么要学习数据结构?(1)学习数据有效存储的方法。通过学习数据结构,更加准确和深刻地理解不同数据结构之间的共性和联系,学会选择和改进数据结构,高效地设计并实现各种算...原创 2018-09-25 21:56:39 · 602 阅读 · 0 评论