2021-02-01

  1. 进程(process) 实现并发编程的基本途径
    线程(thread)
    2.main(String[] args) 这个东西,叫做"命令行参数"
    (1)以前的时候操作系统都是使用命令行的方式操作的.
    命令行, 咱们现在也会经常用到,尤其是操作Linux服务器的时候.Linux没有图形界面嘛?有的
    服务器是在遥远的机房.如果通过图形界面操作服务器,就需要把服务器上的画面,以一帧一帧的图像的形式通过网络传输过来.一帧图片就几个MB,命令行的话,只需要传输一些简单的字符,几个K
    (2) 什么是命令行的参数?
    如: java Test1 365 156 “China”
    (以上Test1必须为主类,否则不能运行)
    (3)命令行参数可以有很多个
    数据结构(1)
    1.数据结构是啥?
    组织大量的数据
    把数据按照一定的规则放到一起整理好,方便后续进行使用(高效)(增删改查)
    2.数据结构中的内容有啥?
    (1)线性表
    顺序表 ArrayList / Vector
    链表 LinkedList
    (2)栈和队列
    栈 Stack
    队列 Queue
    (3)树
    普通的树 (意义不大)
    二叉树
    堆 优先队列 PriorityQueue
    二叉搜索树 TreeSet / TreeMap
    B树/B+树 数据库中会涉及
    (4)哈希表 HashSet/HashMap
    (5)图
  2. 为什么要学数据结构?
    以后写程序,稍微有些实用价值的程序,都离不开数据结构.
    一种过去的比较极端的观点: 软件 = 数据结构+(广义)算法

元素(Element): 被管理的原子数据,元素类型不限。
集合(Collection): 存放元素的容器,需要利用一定的数据结构知识对元素进行组织。
遍历(Traversal) /迭代(lterate): 在数据结构的语境下,往往表示对一个集合中的所有元素都按照一定的顺序处理(访问(visit)针对这个元素进行操作(读取,修改,打印…….))一次。
在这里插入图片描述

淡黄色表示接口interface
蓝色表示抽象类abstract class
深黄色表示类 class
向上的箭头表示“继承”或者“实现”

在这里插入图片描述

5.时间复杂度、空间复杂度
衡量程序效率的一种方式.
时间复杂度,衡量的是程序运行的快慢
空间复杂度,衡量的是程序占用内存/外存的大小
时间复杂度抛开外部的干扰因素,单纯从代码本身来衡量程序的运行效率,大概得到一个粗略的值,并不精确
学习研究数据结构的时候,也经常需要衡量某种数据结构的某个操作的运行快慢,不太适合直接使用时间这样的概念来衡量.
6.问题规模N
同样的一段代码,要处理的问题规模大或者小,可能就会影响到程序的运行速度.
例如之前学过的二分查找和普通查找
7.执行次数,不是精确的衡量,而是使用大O渐进表示法.
衡量时间复杂度的时候,需要先确定基本操作是啥,执行次数最多的典型操作,可能是++,也可能是赋值,也可能是读取,也可能是打印.……
计算基本操作执行的次数.保留最高阶项,同时去掉系数.得到了一个用来衡量复杂度的“近似值"
(1)理解O(1)常量复杂度,不是说基本操作只进行一次,可以是多次,但是当前基本操作的次数和问题规模N无关.
(2)O(N^2)
为啥能省略掉低阶项:
如果N变大了,最终的基本操作的执行次数也会变大很多.
在这整个表达式中,对表达式最终值的影响最大的就是最高阶的项.
N 10000
N^2=>100000000
2 N=>20000
10 =>10
远远小于,忽略不计
(3)像查找元素这个事情
可能要查找的元素,就是处在数组的第一个位置,比较一次就找到了.
可能要查找的元素,处在数组的中间位置,可能需要比较个N/2次才能找到.
还可能要查找的元素处在数组的末尾,可能需要比较N次才能找到
问题规模,不一定用一个变量就能描述,可能是多个变量,这个时候时间复杂度的表示,也就需要多个变量来描述了.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值