zoukankan      html  css  js  c++  java
  • 数据结构与算法--基本概念

     课前导入: 

            如何在书架上摆放图书, 摆放图书有两个相关操作。

            操作1:新书如何插入书架; 操作2:如何找到需要的书  。    

            方法1:随便放(一本本挨着放)

                      操作1  直接放在最后面

                      操作2  一本本的找

            方法2:按照书名的首字母排序

                      操作1   根据新书的首字母   二分查找该插入的位置   移出空位

                      操作2   使用二分查找

            方法3:将书分类  例如 文学类 计算机类  艺术类等

                         每一类中的书按照书名首字母排序

                      操作1 分类 确定首字母 二分查找应插入的位置   移出空位 

                      操作2 分类 二分查找

                      具体的操作只影响相应的类,其他的类不受影响             

                     

           小问题:

                       1.实际中每一类书的藏书量不一样,如何分配空间

                          给每一类同样的书架 书架多了浪费空间  少了需要再添加书架

                       2.类别要分多细比较好

                          分的粗,同一类的书会很多;分的细,类别太多。

      结论:解决问题方法的效率,跟数据的组织方式有关   

                组织方式      随便放    按照书名的首字母排序    将书分类, 每一类中的书按照书名首字母排序   

                插入效率       高                       慢                                               慢

                查找效率       慢                       高                                               高

  • 相关阅读:
    mysql for update 高并发 死锁研究
    IntelliJ IDEA导航特性Top20
    idea工具
    图片水印处理-temp
    idea常用快捷键列表
    编写MyLayer,2 锚点,3 精灵的创建,4 zorder
    CSS学习(十六)-HSLA颜色模式
    android中LocalBroadcastManager的使用
    什么是鸭子类型(duck typing)
    线程应用的场景
  • 原文地址:https://www.cnblogs.com/unitywyb/p/13064982.html
Copyright © 2011-2022 走看看