数据结构与算法--基本概念
课前导入:
如何在书架上摆放图书, 摆放图书有两个相关操作。
操作1:新书如何插入书架; 操作2:如何找到需要的书 。
方法1:随便放(一本本挨着放)
操作1 直接放在最后面
操作2 一本本的找
方法2:按照书名的首字母排序
操作1 根据新书的首字母 二分查找该插入的位置 移出空位
操作2 使用二分查找
方法3:将书分类 例如 文学类 计算机类 艺术类等
每一类中的书按照书名首字母排序
操作1 分类 确定首字母 二分查找应插入的位置 移出空位
操作2 分类 二分查找
具体的操作只影响相应的类,其他的类不受影响
小问题:
1.实际中每一类书的藏书量不一样,如何分配空间
给每一类同样的书架 书架多了浪费空间 少了需要再添加书架
2.类别要分多细比较好
分的粗,同一类的书会很多;分的细,类别太多。
结论:解决问题方法的效率,跟数据的组织方式有关
组织方式 随便放 按照书名的首字母排序 将书分类, 每一类中的书按照书名首字母排序
插入效率 高 慢 慢
查找效率 慢 高 高