数据结构

数据结构:

数据结构_栈:先进后出

  • 入口和出口在同一侧

数据结构_队列:先进先出

  • 入口和出口在集合的两侧

数据结构_数组:

  • 查询快:数组的地址是连续的,我们通过数组的首地址可以找到数组,通过数组的索引可以快速的查找某一个元素。
  • 增删慢:数组的长度是固定的,我们想要增加/删除一个元素,必须创建一个新数组,把原数组的数据复制过来
例:
int[] arr = new int[]{1,2,3,4};

要把数组索引是3的元素删除

  • 必须创建一个新的数组,长度是原数组的长度-1
  • 把原数组的其它元素复制到新数组中
  • 在新数组的地址赋值给变量arr
  • 原数组会在内存中被销毁(垃回收收)

数据结构_链表:

  • 查询慢:链表中地址不是连续的,每次查询元素,都必须从头开始查询。
  • 增删快:链结构,增加/删除一个元素,对链的整体结构没有影响,所以增删快

链表中的每一个元素也称之为一个节点
一个节点包含了一个数据源(存储数组),两指针域(存储地址)

  • 单向链:链中只有一条链,不能保证元素的顺序(存储元素和取出元素的顺序可能不一致)
  • 双向链:链中有两链,有一条链是专门记录元素的顺序,是一个有序的集合

二叉树:分支不能超过两

  • 排序树/查找树:在二叉树的基础上,元素是有大小顺序的(左子树小,右子树大)
  • 平衡树:左孩子和右孩子相等
  • 不平衡树:左孩子和右孩子不相等

红黑树:
特点:趋近于平衡树,查询的速度非常的快,查询叶子节点最大次数和最小次数不能超过2倍
约束:

    1. 节点可以是红色的或者是黑色的
    2. 根节点是黑色的
    3. 叶子节点(空节点)是黑色的
    4. 每个红色的节点的子节点都是黑色的
    5. 任何一个节点到其每一个叶子节点的所有路径上黑色节点数相等

最新文章

  1. org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launch IE
  2. WordPress插件--WP BaiDu Submit结构化数据插件又快又全的向百度提交网页
  3. https基础流程
  4. ScriptTransformer
  5. 机房收费系统之uml图——初版
  6. iOS的沙箱目录和文件操作
  7. 关于Struts2中的值栈与OGNL表达式
  8. Android 开发60条技术经验总结(转)
  9. SQLite查询优化性能要点
  10. HTML特殊符号编码大全
  11. Allegro CL Express Edition Downloads
  12. mvc上传头像加剪裁功能
  13. 对闭包的理解(closure)
  14. spring boot2.0.4集成druid,用jmeter并发测试工具调用接口,druid查看监控的结果
  15. babel版本兼容报错处理:Plugin/Preset files are not allowed to export objects
  16. Linux基础入门-文件打包与解压缩
  17. JSON的简单使用_解析前台传来的JSON数据
  18. Change事件多参
  19. VIM编辑配置文件基本操作
  20. 二叉树的递归,非递归遍历(java)

热门文章

  1. httpclient解析
  2. ASP.NET Core MVC 502 bad gateway 超时如何处理
  3. Ninja使用Visual Studio(cl.exe)构建
  4. springboot+thymeleaf 实现图片文件上传及回显
  5. mac运行模拟器simulator突然很慢
  6. nbu虚拟机恢复样例(之后补图)
  7. Windows平台部署 Asp.Net Core 3.1.0,将 ASP.NET Core 应用发布到 IIS ,使用 IIS 在 Windows 上托管 ASP.NET Core
  8. helm搭建本地chart仓库及基本操作
  9. 23-C#笔记-正则表达式
  10. echarts x轴标签文字过多导致显示不全