数据结构笔记(1)
来源:互联网 发布:centos u盘挂载 编辑:程序博客网 时间:2024/06/03 23:43
1、名词
数据元素:是组成数据有一点意义的基本单位。
数据项:一个数组元素可以由软干个数据项(数据不可分割的最小单位)组成。
数据对象:性质相同数据元素的集合,是数据的子集。。
2.算法
数据结构预算法相辅相成。
2.1比较两种算法
a.写出1+2+……+100结果程序
int i,sum=0,n=100;
for(i=1;i<=n;i++){
sum=sum+i;
}
printf("%d",sum);
但是考虑到效率问题,回忆怎样笔算,有了一种新思路——
int i = 0,sum = 0, n = 100;
sum=(1+n)*n/2;
printf("%d" , sum);
通过简化数学思路,提高代码运算量。
一般采用事前估计算法,而不是事后估计。
例如:上例计算求和算法:
前者N=1+(n+1)+n+1
后者:N=1+1+1
显然后者算法更优异。
算分运行时间:把基本操作数量和输入规模关联起来,基本操作的数量必须表示成输入规模的函数
3、算法复杂度
3.1
O(F(N))岁问题规模N的增大,算法执行时间的增长率和F(n)的增长率相同,称作算法渐进复杂度。简称时间复杂度。其中F(n)是问题规模n的某个函数。
O( )体现算法时间复杂度的记法,记做大O算法
O(N)线性阶
O(1)常数阶
O(N*N)平方阶
☆时间复杂度为O(logn)的经典算法的(2x=n)
int count=1;
while(count<n){
count=count*2;
}
O(1)<O(logn)<O(N)<O(nlogn)<O(N^2)<O(n^3)<O(2^N)<O(n!)<O(n^n)
3.2总结
算法特性:又穷、可行、确定、输入、输出
算法设计要求:正确、可读、健壮、高校、地存储
度量方法:事后统计(不科学),事前统计
函数渐进增长
- 数据结构笔记(1)
- 1、数据结构(笔记)
- 数据结构学习笔记(1) 数据结构概论
- 数据结构学习笔记(1)
- 数据结构学习笔记(1)
- 《数据结构》学习笔记(1)
- 数据结构笔记(1)递归
- 《大话数据结构》笔记(1)--数据结构绪论,算法
- 数据结构学习笔记(1)算法分析
- openCV学习笔记(1)--IplIamge数据结构
- Python学习笔记(1)--数据结构
- 数据结构学习笔记1(算法分析)
- 数据结构-栈1(学习笔记)
- 数据结构笔记(1)散列表
- 数据结构笔记(1)-顺序表
- 数据结构学习笔记(1):基本概念
- 网上数据结构初学笔记(1)
- 数据结构笔记1
- Leetcode-Rotate List
- hdu 5007 Post Robot
- UVA - 10718 Bit Mask(贪心+位运算)
- 并查集入门
- Netty那点事(三)Channel中的Pipeline
- 数据结构笔记(1)
- 【Linux】【Shell】Linux/Unix下Shell快捷键操作大集合
- 火影600集最新片头曲《シルエット》歌词
- 段很长的道路,一个油漆工刷路面,他有两种工具,工具1每次可以刷1米,工具2每次可以刷3米,1)问当道路长度是n米时,使用工具1和工具2配合使用刷完全部道路,共有多少种方式?
- QImage对一般图像的处理
- asp.net 获取网站根目录总结
- 【Linux】超实用的Linux/Unix快捷键大汇总(开发、管理)
- Android——sqlite3 基本命令操作
- Tomcat性能参数设置