不知不觉也到了java集合这一章的学习,这因该是挺重要的一个章节,因为所有的程序都离不开数据,而一个良好的数据结构和算法应该是程序的灵魂吧。

今天对自己所初步了解的做一个总结:

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。(ps:来源于搜狗百科)

在有些编程语言中,它并没有将这些性能各异的数据结构写入到其中,所以使用这些编程语言的人就只能自己一步步实现数据结构的算法,但是在java语言中,java将性能各异的数据结构给封装在的java的集合中,这样可以使编程人员不用再一步步实现数据结构的算法,只需要根据自己所需要的选择最优的数据结构即可。

简单了解的几种数据结构:

  • 数组:能够较快的进行查询和替换功能,但是对于较大的数组来说增加(改变元素的索引,和可能产生扩容)和删除(可能改变元素的索引)会使性能降低;
  • 链表(LinkedList):

    单项链表中一个链表元素包含了:一个保存的内容,一个指向下一个链表元素的节点;

    双向链表中则多了一个指向上个链表元素的节点;

    优点是可以使增加和删除元素的速度提高。

  • 队列(Queue):队列是先进先出的,队列可以在尾部添加元素,头部删除元素;
  • 栈(Stack):先进后出,栈最后添加的元素称为栈顶,最先添加的元素称为栈低,填入元素称为压栈;
  • 哈希表(HashTable):数组的值和索引之间存在一种对应的关系, 索引————(存在某种关系)————value

    它最大的优点是提高了查询效率,并且它保存的元素是不允许重复的

  ...................

  我并没有系统的学习关于数据结构的知识,这些都是道听途说的,等稳定下来后,一定得好好的补补这些知识。

参考的博客:https://www.cnblogs.com/xiaoxi/p/6089984.html

最新文章

  1. HDU 5652(二分+广搜)
  2. 浅析MySQL数据碎片的产生(data free)
  3. Android 学习第5课,配置android
  4. MIConvexHull
  5. Linux上安装Redmine
  6. Keil 4 与Proteus 7.8联调
  7. C# 邮件发送注意事项
  8. js,this,constrct ,prototype
  9. mybatis配置文件xxxx.xml中缺失返回类型的后果A query was run and no Result Maps were found
  10. 响应式web设计的优化
  11. 自定义view(一)
  12. 在CI中实现持续Web安全扫描
  13. [Miller-Rabin & Pollard-rho]【学习笔记】
  14. 【CF17E】Palisection(回文树)
  15. 社区发现算法 - Fast Unfolding(Louvian)算法初探
  16. Problem B: Battle Royale(简单几何)
  17. Cannot forward to error page for request ......
  18. 基于tkinter的九型人格测试系统介绍
  19. MyEclipse优化设置(最详细版本)
  20. FZU Monthly-201901 获奖名单

热门文章

  1. springboot 多数据源的实现
  2. vue-router 嵌套路由没反应
  3. python从TXT创建PDF文件——reportlab
  4. 【转载】Intellij IDEA的Hibernate简单应用
  5. PAT_A1087#All Roads Lead to Rome
  6. 【剑指Offer】41、和为S的连续正数序列
  7. RF学习使用记录【4】
  8. 在vue项目中引用element-ui时 让el-input 获取焦点的方法
  9. 【2】Django安装
  10. PAT 1088. Rational Arithmetic