Lazy loaded image
算法与数据结构-六
字数 1977阅读时长 5 分钟
2025-6-10
2025-7-16
type
status
date
slug
summary
tags
category
icon
password
📌
前言:
算法与数据结构第六次作业
📝
目录:
 
一、什么是就地排序?什么是稳定的排序方法?内部排序方法有哪些?
1. 就地排序:指在排序过程中,只需要占用常数的辅助空间的排序方法,即不需要额外的存储空间来进行排序,直接在原数组或列表上进行操作。常见的有冒泡排序、选择排序、插入排序等。
2. 稳定的排序方法:假设 ( 1 i n, 1 j n, i j)且在排序前的序列中 R_i 领先 (即 i < j)。若在排序后的序列中 R_i 仍领先 ,则称所用的排序方法是稳定的。否则,若可能使排序后的序列中 领先于 ,则称所用的排序方法是不稳定的。
3. 内部排序方法:内部排序包括插入排序(直接插入排序、折半插入排序、希尔排序)、交换排序(冒泡排序、快速排序)、选择排序(简单选择排序、树形选择排序(堆排序))、归并排序(2-路归并排序)、基数排序(多关键字排序、链式基数排序)。
如果按内部排序过程中所需的工作量来区分,可分为:
  • 简单排序,其时间复杂度为
  • 先进的排序方法,其时间复杂度为
  • 基数排序,其时间复杂度为
二、写出直接插入排序算法。写出起泡排序算法。写出快速排序算法。写出简单选择排序算法。
直接插入算法:
主函数调用, InsertSort(R, n);
冒泡排序算法:
主函数调用,BubbleSort(R, n); // R 为待排序数组,n 为元素个数
快速排序算法:
主函数调用,QuickSort(R, 0, n - 1);
简单选择排序算法:
主函数调用,SelectSort(R, n);
<ins/>
三、什么是堆?堆排序的思想是什么?下面序列是否为堆,如果不是,调整为堆。{12, 36, 30, 85, 47, 53, 24, 90}。
1. 什么是堆?
堆(Heap)是一种基于完全二叉树的数据结构,满足以下堆属性:
最大堆(Max Heap):每个父节点的值都大于或等于其子节点的值。根节点(堆顶)是最大值。
最小堆(Min Heap):每个父节点的值都小于或等于其子节点的值。根节点(堆顶)是最小值。
2. 堆排序的思想是什么?
堆排序(Heap Sort)是一种基于堆的原地排序算法,时间复杂度为 ,适用于大规模数据排序。其思想分为建堆和排序两个主要步骤。
3.该序列是否为堆?
不是堆,调整为
四、Give the English of the following terminologies.
排序,插入排序,选择排序,起泡排序,快速排序堆,堆排序。
排序: Sort
插入排序: Insertion Sort
选择排序: Selection Sort
起泡排序: Bubble Sort
快速排序: Quick Sort
堆: Heap
堆排序: Heap Sort
五、对关键字序列(85,92,61,33,99,18,10,48)进行堆排序,使之按关键字递减次序排列(小顶堆),请写出排序过程中得到的初始堆。
初始堆:10,33,18,48,99,85,61,92
六、给出归并排序算法
<ins/>
 
 
🔗

联系我们

☃ QQ交流群:1023575202
☃ 不欢迎伸手党或者拿来主义
☃ 禁止一切抄答案作弊行为
🌹 赞赏支持我 🌹
notion image
 
💡

评论留言

欢迎在底部评论区留言~
上一篇
算法与数据结构-五
下一篇
算法与数据结构-总

评论
Loading...