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

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

  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。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/230927.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 单词替换

输入一个字符串,以回车结束(字符串长度不超过 100 )。 该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。 现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。 输入…

使用Java实现简单的网络爬虫,并使用代理IP

目录 前言 一、了解网络爬虫的基本原理与流程 二、选择合适的技术与工具 三、编写代码实现网络爬虫 四、解析网页内容 总结 前言 网络爬虫是一种自动化程序,用于从互联网上抓取信息。它可以帮助我们快速地获取大量数据,并进行分析和处理。在实际应…

滑动窗口(一)

滑动窗口 什么是滑动窗口算法?通俗的来讲就是 “同向双指针” ,当一组数据的规律含有单调性的时候,就可以使用下面这套逻辑来优化暴力解法。 当两个指针同向移动的时候,类似于一个窗口在滑动。使用于在连续序列里找特殊的子串、…

在centos7上安装docker

1.CentOS安装Docker Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。 1.1.卸载(可选) 如果之前安装过旧版本的Docker,可…

C语言之递归函数

目录 函数和类型 阶乘 █递归函数调用 函数中可以调用和该函数自身完全相同的函数,这样的调用方式称为递归函数调用,下面我们就来学习相关的基础知识。 函数和类型 所谓递归(recursive),就是将自己包含在内&#x…

ubuntu添加路由

ip route show 查看当前路由表 sudo ip route add /mask via 添加一条路由 目标ip 1.1.1.1/100 下一跳 2.2.2.2 sudo ip route add 1.1.1.1/100 via 2.2.2.2 dev ens160 proto static metric 100这是一条Linux命令,用于添加一个静态路由。具体含义如下&#xff1…

AI 绘画 | Stable Diffusion 视频数字人

前言 本篇文章教会你如何利用Stable Diffusion WEB UI,使用一个人物图片转换成为一个口播视频。本篇内容的教程以WINDOWS系统为例,教你如何安装使用。 先看视频效果 彭于晏图片生成口播视频 安装 首先需要在windows电脑上安装ffmpeg,按照本教程《在 Windows PC 上轻松下载并…

DataGrip 2023.3 新功能速递!

1 数据可视化 自 DataGrip 2023.3 发布以来,已整合 Lets-Plot 库,实现数据可视化。该可视化功能可用于所有三种类型的网格: 主选项卡:在打开表、视图或 CSV 文件时,在分割模式下显示图表。结果选项卡:在 服…

centos安装opencv并在springboot中使用

使用conda安装opencv,并在docker运行的容器中使用,这里以运行则springboot应用的容器为例 步骤一:安装 在conda中安装 # 安装依赖 conda install numpy matplotlib# 安装opencv conda install -c conda-forge opencv # 或者制定版本 conda…

安装android studio

记录一下安装android studio的过程: 1.首先安装android studio到某一文件夹后,在C盘用户目录下可以看到.android文件夹。C:\Users\22515\AppData\Local\Google目录下也会出现AndroidStudio2022.2文件夹。(注意:用户名&#xff0c…

在iframe怎么把外面的dialog关掉

<template> <el-dialog ref"dialogRef"> <iframe></iframe> </el-dialog> </template> 在iframe怎么把外面的dialog关掉 在 Vue 中&#xff0c;如果要从 iframe 内部关闭外部的 dialog&#xff0c;可以通过在 iframe 中触发父…

一种缩小数据之间差距的算法

先上代码&#xff1a; /** * 缩小数据之间的差距&#xff0c;但是大小关系不变的方法* param {Array} features */function minMaxData(data) {for (let i 0; i < data.length; i) {const f data[i];const x f[1];const yf[2];//此处5根据实际情况设置const y2 Math.pow(…

LeedCode刷题---二分查找类问题

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、二分查找 题目链接&#xff1a;二分查找 题目描述 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一…

开源学习项目推荐

文章目录 koodo-reader凤凰架构学习项目NPS 内网穿透客户端 koodo-reader 项目地址&#xff1a;https://github.com/koodo-reader/koodo-reader 介绍&#xff1a;一个开源的阅读器&#xff0c;阅读pdf也有目录&#xff0c;作为epub阅读器和pdf阅读器看资料挺好 凤凰架构 项…

torch.gather(...)

1. Abstract 对于 pytorch 中的函数 torch.gather(input, # (Tensor) the source tensordim, # (int) the axis along which to indexindex, # (LongTensor) the indices of elements to gather*,sparse_gradFalse,outNone ) → Tensor有点绕&#xff0c;很多博客画各…

设计模式策略模式讲解和代码示例

引言 策略是一种行为设计模式, 它将一组行为转换为对象, 并使其在原始上下文对象内部能够相互替换。 原始对象被称为上下文, 它包含指向策略对象的引用并将执行行为的任务分派给策略对象。 为了改变上下文完成其工作的方式, 其他对象可以使用另一个对象来替换当前链接的策…

elastic:nested实现对满足条件的数组元素聚合查询

0. 引言 某些业务场景下&#xff0c;我们要对数组元素进行聚合查询&#xff0c;就需要用到nested数据类型&#xff0c;但部分场景是针对数组中指定的元素进行聚合&#xff0c;于是就需要对数组元素进行限定&#xff0c;今天来看看这种场景如何实现。 1. 数据准备 首先我们准…

【ECMAScript笔记一】初识JavaScript、变量的使用、数据类型包括哪些?

文章目录 1 初识JavaScript1.1 JS是什么1.2 JS的作用1.3 浏览器怎么执行JS1.4 编译性语言和解释型语言1.5 JS的组成1.6 JS的三种书写位置1.7 JS的注释1.8 JS的输入输出语句 2 变量2.1 变量的使用2.2 使用变量的注意点2.3 变量命名规范 3 数据类型3.1 简单数据类型3.1.1 数字型 …

6.s081操作系统Lab4: trap

文章目录 chapter 4概览4.1 CPU trap流程使用寄存器如果cpu想处理1个trap 4.2 用户态引发的trap4.2.1 uservec4.2.2 usertrap4.2.3 usertrapret和userretusertrapretuserret Lab4Backtrace (moderate)Alarm (hard) chapter 4 概览 trap的场景&#xff1a;系统调用&#xff0c…

2024年手把手教CleanMyMac X v4.14.6破解版安装激活图文教程

小编给您带来CleanMyMac X v4.14.6中文破解版&#xff0c;CleanMyMac X破解版是应用在MacOS上的一款Mac系统清理优化工具&#xff0c;使用cleanmymac x 中文破解版只需两个简单步骤就可以把系统里那些乱七八糟的无用文件统统清理掉&#xff0c;节省宝贵的磁盘空间。 CleanMyMac…