数据结构入门IntroductiontoDataStructure主讲何宣编剧廖洪舒Hs趣闻
第一次校赛2
08年北京喝了红牛,抬头看见天大mm喷鼻血3
UESTC_floyd雅加达259816min重要的事实:当代计算机1s内可做10^7左右次计算配置好的机器可到k*10^7~10^8在这个限制下时间复杂度一定的算法存在能处理的规模上限复杂度数量级最大规模O(logN)>>10^20很大O(N^1/2)10^1210^14O(N)10^610^7O(NlogN)10^510^6O(N^2)10002500O(N^3)100500O(N^4)5050O(2^N)2020O(3^N)1415O(N
)910什么是数据结构
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合
理解:数据结构是一种特别的储存和组织数据的方式,以便于我们更高效地维护和使用数据
数据结构的含义:数据、关系、操作例子:一维数组数据:a[1],a[2],…,a[n]关系:前驱/后继操作:随机存取,插入,删除…程序=数据结构+算法(数据结构为算法服务)根据算法对数据的操作要求,设计合适的数据结构实现同一套操作,可以用多种数据结构如何降低时空复杂度,又方便实现
维护一个电话薄,方便进行插入删除和查找操作:插入,删除,查找逻辑结构:无序线性表储存结构:数组•插入:插到尾部比较方便,O(1)•删除:“合并两半”导致元素移动,最坏O(n)•查找:最坏O(n)储存结构:链表•插入:插到头部比较方便,O(1)•删除:(找到被删除元素后)O(1)•查找:最坏O(n)维护一个电话薄,方便进行插入删除和查找操作:插入,删除,查找逻辑结构:有序线性表储存结构:数组•插入:最坏O(n)•删除:最坏O(n)•查找:二分查找,最坏O(logn)储存结构:链表•插入:(找到后