看视频,回答以下问题:
1.系统提到了哪些排序场景?除此之外,你还知道哪些信息系统有排序?
2.什么样的排序方法是稳定的?请举例说明
3.插入类排序分为哪几类?
4.若对n个元素进行直接插入排序,将元素 a[i]正确插入到位置上,需要移动元素的次数为( )
-
系统提到了以下排序场景:
- 文件系统中的文件排序
- 数据库中的数据排序
- 搜索引擎中的结果排序
- 推荐系统中的物品排序
- 各种应用软件中的列表排序
除了上述提到的场景,还有以下信息系统有排序功能:
* 电子商务网站的产品列表排序(按价格、销量、评分等) | |
* 社交媒体中的消息或动态排序(按时间、点赞数、评论数等) 微博热度榜 | |
* 新闻网站的文章列表排序(按发布时间、阅读量、评论数等) |
2. 稳定的排序方法是指相等的元素在排序后保持其原始顺序。例如,对于以下序列:
[3, 2, 2, 1, 3]
稳定的排序方法会确保相等的元素(如两个2和两个3)在排序后保持其相对顺序。
例如,归并排序就是一个稳定的排序方法。它的工作原理是将序列拆分为两半,分别进行排序,然后将两个有序序列合并成一个有序序列。在合并过程中,如果遇到相等的元素,它们的相对顺序将保持不变。
-
插入类排序分为以下几类:
- 直接插入排序(Direct Insertion Sort)
- 希尔排序(Shell Sort)
- 折半插入排序(Binary Insertion Sort)
-
若对n个元素进行直接插入排序,将元素a[i]正确插入到位置上,需要移动元素的次数为n-i。这是因为当插入a[i]时,前i个元素已经有序,而a[i]需要插入到正确的位置上,这可能会导致后面的元素向后移动。因此,总共需要移动的次数是n-i。