- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据结构入门
IntroductiontoDataStructure主讲何宣编剧廖洪舒Hs趣闻?1.第一次校赛2.08年北京喝了红牛,抬头看见天大mm喷鼻血3.UESTC_floyd雅加达259816min重要的事实:当代计算机1s内可做10^7左右次计算配置好的机器可到k*10^7~10^8在这个限制下时间复杂度一定的算法存在能处理的规模上限复杂度 数量级 最大规模O(logN) 10^20 很大O(N^1/2) 10^12 10^14O(N) 10^6 10^7O(NlogN) 10^5 10^6 O(N^2) 1000 2500O(N^3) 100 500O(N^4) 50 50O(2^N) 20 20O(3^N) 14 15O(N!) 9 10 什么是数据结构?数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。理解:数据结构是一种特别的储存和组织数据的方式,以便于我们更高效地维护和使用数据。数据结构的含义:数据、关系、操作例子:一维数组数据:a[1],a[2],…,a[n]关系:前驱/后继操作:随机存取,插入,删除…程序=数据结构+算法(数据结构为算法服务)根据算法对数据的操作要求,设计合适的数据结构实现同一套操作,可以用多种数据结构如何降低时空复杂度,又方便实现?维护一个电话薄,方便进行插入删除和查找操作:插入,删除,查找逻辑结构:无序线性表储存结构:数组插入:插到尾部比较方便,O(1)删除:“合并两半”导致元素移动,最坏O(n)查找:最坏O(n)储存结构:链表插入:插到头部比较方便,O(1)删除:(找到被删除元素后)O(1)查找:最坏O(n)维护一个电话薄,方便进行插入删除和查找操作:插入,删除,查找逻辑结构:有序线性表储存结构:数组插入:最坏O(n)删除:最坏O(n)查找:二分查找,最坏O(logn)储存结构:链表插入:(找到后)最坏O(1)删除:(找到后)最坏O(1)查找:最坏O(n)数据结构即是研究数据的各种逻辑结构和储存结构,以及在此基础之上对数据的各种操作。今天学什么?栈(Stack)队列(Queue)并查集(Disjoint-set)二叉堆(BinaryHeap)平衡二叉搜索树(Self-balancingBinarySearchTree)线段树(SegmentTree)树状数组(BinaryIndexedTree)外特性:后进先出(LIFO)交卷子逻辑结构:只在一端操作的线性表数组实现:元素stack[maxn];栈顶指针top;入栈(push):stack[top++]=element;出栈(pop):element=stack[--top];空栈条件:top==0栈(Stack)PushPoptopSTL(StandardTemplateLibrary)#includestackusingnamespacestd;stackints;intx=s.top();s.push(x);s.pop();s.empty();s.size();栈的应用保护现场(系统栈)括号匹配表达式求值深度优先搜索(Depth-firstSearch)栈(Stack)外特性:先进先出(FIFO)食堂排队吸管里的饮料数组实现:元素queue[maxn],队首head,队尾tail入队:queue[tail++]=element;出队:element=queue[head++];队空条件:head=tail问题:出队的元素还在数组里,不是很浪费吗?队列(Queue)poppushheadtailSTL(StandardTemplateLibrary)#includequeueusingnamespacestd;queueintq;intx=q.front();q.push(x);q.pop();q.empty();q.size();队列的应用广度优先搜索(Breadth-firstSearch)……扩展循环队列(CircularQueue)最短路的SPFA算法(ShortestPathFasterAlgorithm) 双端队列(DoubleEndedQueue)例:SlidingWindow对某
您可能关注的文档
最近下载
- 数据科学与大数据技术导论.pptx VIP
- 【1986】丰城县泉港镇志.pdf
- 新版哈萨克斯坦签证申请表.pdf
- 加油站加油车风险评估.docx VIP
- 【一等奖音乐教育理论类论文】核心素养导向下音乐大单元教学探索以人音版舞台综合艺术相关单元为例.docx
- 数据科学导论教学课件(共8章)-第3章大数据生态系统.pptx VIP
- 数据科学导论教学课件(共8章)-第2章大数据学科与职业.pptx VIP
- 数据科学导论教学课件(共8章)-第1章认识大数据.pptx VIP
- 2023年人美版新课标教材小学一年级上册美术计划和全册教案.pdf
- 部编人教版高二思想政治必修4哲学与文化上册教学计划(有教学进度安排).docx
文档评论(0)