数据结构与算法
首先学数据结构这门课得和算法一起讲更易理解,因为算法建立在数据结构的基础上
数据结构到底是什么
数据与数据之间的关系
数据结构概念1:数据的存储结构
数据怎么存在计算机的内存里面
包括:
1.顺序存储结构:
按顺序一个一个存
2.链式存储结构:
用地址连接,像链条一样存
数据结构概念2:数据的逻辑结构
数据和数据之间的逻辑关系
包括:
1.集合结构:
数据元素在同一个集合,并列关系。
2.线性结构:
数据元素1对1的关系
3.树形结构:
数据元素1对多的关系
4.图形结构:
数据元素多对多的关系
算法
刷数学题的解法也是算法,算法是一种解法思路
算法的特性
包括:
1.输入:需要输入0到多个数据
2.输出:至少要有一个输出
3.有穷性:有限步骤有限执行时间
4.确定性:结果是确定的,不能同一个数据输入有不同的结果输出
5.可行性:能够解决问题
算法的基本要求
1.正确性:算法要正确解决问题
2.可读性:方便看懂
3.健壮性:运算功能健壮
4.时间复杂度:算法运行时要占用的时间
5.空间复杂度:算法运行时要占用多少内存
小例题1.求和1加到100
(1).算法1常规做法:用循环一个一个加
public class Ex01 {
public static void main(String[] args) {
//常规做法一个一个加
int sum = 0;
for(int i = 1;i<=100;i++) {
sum += i;
}
System.out.println(sum);
}
}
输出:5050
(2).算法2优化算法:
public class Ex01 {
public static void main(String[] args) {
//优化算法,算法没有最好的,只有最适合的
int sum = 0;
int a1 = 1,a100 = 100;
sum = 100*(1+100)/2;
System.out.println(sum);
}
}
输出:5050
总结:算法是一种思路,多多积累,总有好处