数据结构与算法(一)
来源:互联网 发布:双十一购物数据 编辑:程序博客网 时间:2024/06/04 19:07
数据结构:数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
数据结构分为逻辑结构和物理结构。
1.逻辑结构:数据对象中数据元素之间的相互关系
a.集合结构,集合结构中的数据元素除了同属一个集合外,之间没有其他关系
b.线性结构,线性结构中的数据元素之间是一对一的关系
c.树形结构,树形结构中的数据元素之间存在的一对多的层次关系
d.图形结构,多对多的关系2.物理结构:数据的逻辑机构在计算机中的存储形式,实际上研究的就是如何把数据元素存储到计算机的存储器中,
存储结构形式有两种:顺序存储和链式存储
a.顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的
b.链式存储结构:把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。因此需要通过一个指针存储数据元素的地址,通过地址就可以找到相关数据元素的位置算法:指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制
算法特征:
1.输入:算法具有0个或多个输入
2.输出:算法至少要有1个或多个输出
3.有穷性:算法在执行有限的步骤之后,自动结束而不会无限循环,并且每一个步骤在可接受的时间内完成
4.确定性:算法的每一个步骤都有确定的含义,不会出现二义性
5.可行性:算法的每一步都必须是可行的,也就是说每一步都能够通过有限次数完成
算法效率:
1.时间复杂度:随着规模n的增大,算法执行时间的增长率和函数f(n)的结果的增长率相同。
一般情况下,随着输入规模n的增大,f(n)增长最慢的算法为最优算法
常见时间复杂度
a.常数阶 O(1)
b.线性阶 O(n)
c.平方阶 O(n^2)
d.对数阶 O(logn)
e.nlogn阶 O(nlogn)
f.立方阶 O(n^3)
g.指数阶 O(2^n)
以上所消耗时间依次为:O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) O(n^3) < O(2^n) <O(n!) < O(n^n)
2.空间复杂度:通过计算算法所需的存储空间实现。
- 数据结构与算法(一)
- 数据结构与算法(一)
- 数据结构与算法(一)
- 数据结构与算法(一)
- 数据结构与算法(一)
- 算法与数据结构(一)
- 数据结构与算法一
- 数据结构与算法一
- 数据结构与算法总论(一)
- 数据结构与算法分析(一)
- 算法与数据结构(一)--快速排序
- 数据结构与算法(一)概论
- 【数据结构与算法分析(一)】排序
- 数据结构与算法基础(一)
- 数据结构与算法笔记(一)单链表
- 数据结构与算法--二叉树(一)
- 数据结构与算法:数组(一)
- 数据结构与经典算法(一)
- Sublime Text使用笔记
- cookie详解
- 237. Delete Node in a Linked List
- Windows并发&异步编程(3)临界区Critical Section
- spring自动化装配bean
- 数据结构与算法(一)
- POJ3469 Dual Core CPU
- Coursera Algorithms week1 练习测验3:Successor with delete
- 序列化
- Dialog的不完全事件分发机制
- 如何实现 两个视图不同速率的平移
- 一个正整数如果等于组成它的各位数字的阶乘之和,该整数称为阶乘和数。 例如,145=1!+4!+5!,则145是一个三位阶详细和数。 请问:共有多少个阶乘和数?
- jQuery方法
- SQL查询区分大小写