数据结构之预习作业:排序(v1)

看视频,回答以下问题:
1.系统提到了哪些排序场景?除此之外,你还知道哪些信息系统有排序?
2.什么样的排序方法是稳定的?请举例说明
3.插入类排序分为哪几类?
4.若对n个元素进行直接插入排序,将元素                             a[i]正确插入到位置上,需要移动元素的次数为(    )

数据结构之预习作业:排序(v1)_第1张图片

  1. 系统提到了以下排序场景:

    • 文件系统中的文件排序
    • 数据库中的数据排序
    • 搜索引擎中的结果排序
    • 推荐系统中的物品排序
    • 各种应用软件中的列表排序

除了上述提到的场景,还有以下信息系统有排序功能:

 
  
* 电子商务网站的产品列表排序(按价格、销量、评分等)
* 社交媒体中的消息或动态排序(按时间、点赞数、评论数等) 微博热度榜
* 新闻网站的文章列表排序(按发布时间、阅读量、评论数等)

2. 稳定的排序方法是指相等的元素在排序后保持其原始顺序。例如,对于以下序列:

[3, 2, 2, 1, 3]

稳定的排序方法会确保相等的元素(如两个2和两个3)在排序后保持其相对顺序。

例如,归并排序就是一个稳定的排序方法。它的工作原理是将序列拆分为两半,分别进行排序,然后将两个有序序列合并成一个有序序列。在合并过程中,如果遇到相等的元素,它们的相对顺序将保持不变。

  1. 插入类排序分为以下几类:

    • 直接插入排序(Direct Insertion Sort)
    • 希尔排序(Shell Sort)
    • 折半插入排序(Binary Insertion Sort)
  2. 若对n个元素进行直接插入排序,将元素a[i]正确插入到位置上,需要移动元素的次数为n-i。这是因为当插入a[i]时,前i个元素已经有序,而a[i]需要插入到正确的位置上,这可能会导致后面的元素向后移动。因此,总共需要移动的次数是n-i。

 

你可能感兴趣的:(数据结构)