A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 路天浩 初级黑马   /  2019-3-30 11:49  /  862 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为了记忆线程在6种状态,编了个小故事,看图:

从前有一个战斗民族,刚出生(新建状态)就要去斗技场(堆)斗牛(运行状态),如果有人在斗牛,就备战(阻塞状态),随时准备冲进去(抢占)。过了一会儿,台上的弱鸡被顶死了(死亡状态),我抢到了进场资格,开始斗牛。但是牛太厉害,我受伤了,下场休息(计时等待)。别人继续抢进场资格。

过了一会儿,休息好了,台上的弱鸡被顶成植物人了(无限等待)。身为战斗民族,就算被打成植物人,只要有人叫(noity())一声就会苏醒,然后继续战斗。

==================================================================


数据结构

分为5种

第一种:栈结构

特点:


  • 先进后出(如同子弹先压子弹1,2,3,射击3,2,1);

第二种:队列结构

特点:


  • 先进先出(如同排队安检,1,2,3检查一个过一个1,2,3);

第三种:数组结构

特点:


  • - 查询快:数组是一个连续的内存空间。而且有索引编号。通过索引快速找到对应的元素!
  • - 增删慢:增加或删除元素时,都会创建新数组,然后将元素复制到新数组中

第四种:链表结构

特点:


  • - 查询慢:链表不是一个连续空间。从前向后一个一个的去查找。
  • - 增删快:链表中元素记录的是每一个元素的内存地址值。想添加或删除一个元素时,只需要将对应的地址值更改一下即可。不会影响其他的元素!
  • - 单向链表:当前元素会记录下一个元素的地址值
  • - 双向链表:当前元素会记录下一个元素的地址值,同时下一个元素也会记录上一个元素的地址值

第五种:红黑树结构

特点:


  • 查询速度非常快




1 个回复

正序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马