![f1638e8c060fc347245b3fec562aa263.png](https://i-blog.csdnimg.cn/blog_migrate/ed6448b1d3006e29dfba2b9ff5be822a.jpeg)
内部排序与外部排序
概念
内部排序:带排序记录放在计算机的内存中进行排序的过程。
外部排序:待排序记录的数量很大,以致于内存不能容纳全部记录,所以在排序的过程中,需要对外存进行访问的排序过程。
两者区别:内部排序主要是比较的次数作为衡量效率的标准,外部排序中,还要考虑IO次数作为效率的衡量因素。
内部排序包括常见的冒泡排序,选择排序,插入排序,快速排序,归并排序,堆排序等。
1.内部排序 漫画集
漫画:什么是冒泡排序?mp.weixin.qq.com![3719a5025924cb99b035557152dd3885.png](https://i-blog.csdnimg.cn/blog_migrate/c730a746abb1c8617a8d9065a063e80c.jpeg)
![507e1c701ee7c6c9154ba1f672512d4a.png](https://i-blog.csdnimg.cn/blog_migrate/86a6d4df011c7b92e28d73d04dea4776.jpeg)
![53a3e0a1cc4ba9525d8f9d7dfe93d893.png](https://i-blog.csdnimg.cn/blog_migrate/d2e9fa7a123291f1a63589d5154daa1a.jpeg)
![2df66dd0c9f4530b4eb3b05066a8e38e.png](https://i-blog.csdnimg.cn/blog_migrate/ade9dbfc7c8242c05ef70e231e31c84b.jpeg)
![6aad21c40c4775531085da823224a8b5.png](https://i-blog.csdnimg.cn/blog_migrate/f66f64f04f0a30e666b039c11c19497c.jpeg)
2.外部排序 漫画集
外部排序的基本过程:
外部排序基本上由两个相对独立的阶段组成,分别是预处理和合并排序。
预处理阶段:根据可用内存的大小,将外存上还有n个记录的文件分成若高长度为t的字段。利用内部排序算法进行排序,这些经过排序的子文件通常称为 顺串。顺串生成之后,即写入外存。这样,外存中就得到了m个顺串(m=[n/t])。 合并排序阶段:对m个顺产进行归并,使得顺串的长度逐渐增大,直到最后将所有的待排序记录称为一个顺串为止。在归并的过程中,有两种实现的方式:一是 多路平衡归并;二是 置换-选择排序。两者的最终目的,都是旨在降低与磁盘的I/O次数,来提高外部排序的效率。
漫画链接:
趣谈外部排序mp.weixin.qq.com![253ac6f148927ae5a7ee42208d4bd480.png](https://i-blog.csdnimg.cn/blog_migrate/68151dfa4bf3c640dc714735f3b3b3db.jpeg)