我要么进一线外企、要么进一线互联网大厂之算法(1)

今天学了什么是算法?什么是数据结构

算法:解决问题的方法

如:1+2+3。。。。+100,求最后的得数?

    [(首项+末项) * 项数 ]   /   2

这个方法叫做: 高斯算法

判断算法的方式:
时间复杂度、空间复杂度

数据结构是
数据:计算机的二进制

结构:计算机在缓存、存储、内存中不同数据的管理方法

数据结构分为:
逻辑结构
思想结构

逻辑结构:我要盖5层楼

思想结构:混凝土+钢筋+牛顿力学

而数据结构真正要学的是:思想结构

思想结构又分为:
顺序结构
跳转结构

例如:我要创建一个线性表

	所谓线性表是:       1、2、3、4、5

这个线性表是一个逻辑结构
而在思想结构中则是分为两种:

顺序结构:数组 ---> 线性表
跳转结构:链式 ---> 线性表

数组:
有序
同一类型
int[ ] x = new int[5] ------------> 表示在这个数组中只能存储int类型的元素
String [ ] x = new String [5] -----------------> 表示在这个数组中只能存储String类型的元素
固定长度
int[ ] x = new int[5] -------------------> 表示在这个数组中存储的长度5
int[ ] x = new int[15] ------------------> 表示在这个数组中存储的长度为15

缺点是:
	添加和删除元素效率很慢
优点是:
	查询效率快

链式:(链表)

单项列表:
	1;下一个元素的地址  --->   2;下一个元素的地址
多项列表:
	
	1;下一个元素的地址  <--->   2;下一个元素的地址  <---> 3;下一个元素的地址
循环列表:
	
	1;下一个元素的地址  <--->   2;下一个元素的地址  <---> 3;下一个元素的地址 <---
               ^	    						            |
                |________________________________________________________________________________________|
								           

变成了一个循环

优点就是:
	增加和删除效率高
缺点就是:
	查询效率低

集合:

集合和数组,是计算机存储数据的容器
	存储是指内存中的存储

根据数组的缺点:
1、限定类型
2、限定长度
3、添加和删除效率低
4、有序的

集合的特点就是:
1.不限制类型
2.不限制长度
3.添加和删除效率低
4.无序

集合分为很多种:
array
list
map

之所以要学习这些不同种类的集合,原因就是这些集合在计算机存储管理的方式不一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值