数据结构和算法概述

1,什么是数据结构?

官方解释:
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。
白话来说:就是吧数据元素按照一定的关系组织起来的集合,用来组织和存储数据。

1.2,分类:

数据结构分为
  1. 逻辑结构
  2. 物理结构
1.2.1逻辑结构分类

1.集合结构:同一集合,无任何关系
2.线性结构:元素之间一一对应
3.树形结构:元素之间存在一对多的关系
4.图形结构:元素之间存在多对多的关系

1.22物理结构分类
首先物理结构是逻辑结构在计算机中真正的表示方式,也可以叫做存储结构。
1,顺序结构:把数据元素放到地址连续的存储单元里面,其数据间的逻辑关系和物理关系是一致的。
	常见的有:数组
		优点:有索引,方便查找。
		缺点:插入元素时比较麻烦。
2,链式存储结构:把数据元素存放到任意的存储单元里面,这组存储单元可以使连续的,也可以是不连续的,此时,数据元素之间并不能反映逻辑结构关系。因此,在连式存储结构中引进了一个指针存放数据的地址。通过地址查找元素。
		常见的有:链表
			优点:修改方便(锻炼,指针重新指)
			缺点:查找效率地
1.3什么是算法?
官方解释:指解题方案的准确而完整的描述,是一系列解决问题的清晰的指令,算法代表着用系统的方法解决问题的策略机制。也就是数,能对一定规范的输入,在悠闲地时间内获取所要求的的输出。
白话:根据一定的条件,对一些数据进行计算,得到需要的结果。
1.4算法初体验
1.4.1算法追求的两个目标:
1,花最少的时间弯沉高需求(时间复杂度低)
2,占用最少的内存空间(空间复杂度低)
1.4.2试验一:计算10的阶乘
//第一种算法:
public class Test{
	public static void main(String[] args){
		long result fun1(10);
		System.out.println(result);
	}
	public static long fun1(long n){
		if(n ==1){
		return  1;
		}
		return n * fun1(n - 1);
	}
}
//第二种算法
//只写主函数内的方法体和函数fun2的方法体

long result = fun2(10);
System.out.println(result);
public static long fun2(long n){
	int result = 1;
	for(int i = 0; i <= n;i ++){
		result *= i; 
	}
	return result;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NoSuchManException

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值