zoukankan      html  css  js  c++  java
  • 说说数据结构

    所谓的数据结构其实就是内存的一种存储方式而已;

    想想内存条的插槽,一排连续的金属片;

    如果把把每条金额片当作一个存储单元的话;你会怎么存放东西呢;

    1:把内容直接放到连续的插槽进去,如果内容变大了就拔出来再换个够大地区段插进去;————这就是数组

    2:把所有的内容用一根线连起来,然后把每个内容单元插入到不定位置的卡槽中去;只要记住第一个内容单元的插槽位置即可,顺着连接的线就可以一个一个的找到下一个内容单元了;————这就是链表

    3:在2的基础上用两根线连起来,一根可以往前找,一个可以往 后找;————这就是双向链表

    4:在3的基础上把两根线头和线尾拧在一起打个结;————就是双向循环链表

    这个时候当内容单元很多的时候发现这根线连接的好长长啊,要找其中一个内容单元时太麻烦了,太难找了,怎么办呢?

    5:把长线剪成一小段一小段,然后每个单元块往后接两根线,这样从前面的(一个单元到另一个单元)变成了(一个单元到另两上单元)————这就是二叉树

    6:还有红黑树不知道怎么说了,,后续在写吧;

    ——总之,所有的数据结构无非就是:数组,链表,树的使用或组合使用;

    具体适用什么组合就看具体的应用场景了(增,删,改,查)哪个用的多来分析用什么数据结构;

    还有什么线程安全的问题也下回在完善吧;

    ——以上纯属个人理解

  • 相关阅读:
    CSS3 flex 布局 图片撑大 父级元素被放大 解决办法
    CentOS 下使用 cron crond crontab 执行定时任务
    Linux 安装 pcre
    Nginx 下载编译安装
    油猴脚本编写教程
    用图形来表达你的意思
    免费绘图软件drawio.io快捷键说明
    centos/Mac 下的多线程下载工具 axel
    巧用对象,生成不重复随机数
    mac 下 Redis5 BloomFilter 安装及与 python连用
  • 原文地址:https://www.cnblogs.com/breka/p/9771830.html
Copyright © 2011-2022 走看看