数据结构和算法概述
来源:互联网 发布:杭州网络维修招聘 编辑:程序博客网 时间:2024/05/17 22:20
一.数据结构和算法概述
数据结构是对在计算机内存(有时在磁盘中)中的数据的一种安排。数据结构包括数组,链表,栈,二叉树,哈希表等。算法是对这些结构中的数据进行各种处理。
对于大多数数据结构来说,都需要知道如下操作:
1.插入一条新的数据项
2. 寻找某一特定数据项
3.删除某一特定数据项
4.迭代访问某一数据结构中的各数据项,以便进行显示和其他操作
5.排序
二.数据结构特性
数据结构优点缺点数组插入快,如果知道下标可以快速存取查找慢,删除慢,大小固定有序数组比无序数组查找快删除和插入慢,大小固定栈提供后进先出方式的存取存取其他项很慢队列提供先见先出方式的存取存取其他项很慢链表插入快,删除快查找慢二叉树查找,插入,删除都快(如果树保持平衡)删除算法复杂红-黑树查找,插入,删除都快。树总是平衡的算法复杂2-3-4树查找,插入,删除都快。树总是平衡的。类似的算法对磁盘存储有用算法复杂哈希表如果关键字已知,则存取极快。插入快删除慢,如果不知道关键字则存取很慢,对存储空间使用不充分堆插入,删除快。对最大数据项的存取很快对其他数据项存取慢图对现实世界建模有些算法慢且复杂三.大O表示法(“order of”大约是)
我们需要一种快捷的方法来评价计算机算法的效率。在计算机科学中,这种粗略的度量方法被称作“大O”表示法。
我们需要的是一个可以描述算法的速度是如何与数据项的个数相联系的比较。
用大O表示法表示运行时间
算法大O表示法表示运行的时间线性查找O(N)二分查找O(logN)无序数组插入O(1)有序数组插入O(N)无序数组删除O(N)有序数组删除O(N)大O表示法的实质并不是对运行时间给出实际值,而是表达了运行时间是如何受数据项个数影响的。
0 0
- 数据结构和算法概述
- 数据结构和算法概述
- Java 数据结构和算法 概述
- 数据结构和算法学习(1)-概述
- js数据结构和算法(一)概述
- java数据结构和算法的概述
- 数据结构与算法概述
- 算法与数据结构概述
- 数据结构与算法概述
- 数据结构与算法概述
- 数据结构与算法概述
- 数据结构与算法概述
- 数据结构与算法概述
- 数据结构算法概述-转
- 数据结构之概述(数据和算法基本概念,时间复杂度)
- 数据结构与算法--排序概述
- 【李木华】算法与数据结构概述
- Java数据结构01----算法概述
- Python Intro
- java中String new和直接赋值的区别
- Graph cuts在视差估计中的应用
- POJ 3311 Hie with the Pie
- win下安装Scrapy最新版
- 数据结构和算法概述
- 347. Top K Frequent Elements
- python 利用模拟退火算法求解TSP最短路径
- 微信公众号,管理者账号微信号丢失如何找回
- Linux 主机及网络上面的 FAQ
- jQuery选择器 改写传统javaScript选择器实例(例子)
- 华为机试 进制转换
- TCP的三次握手(建立连接)和四次挥手(关闭连接)
- javascript-MDN学习笔记