【C++】 二叉排序树BST(二叉搜索树)
构造 析构函数 operator = 遍历 递归构造搜索二叉树 插入 删除 查找 二叉树的应用 二叉搜索树的性能分析 代码示例 BSTree.h Test.cpp 二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一棵空树 搜索二叉树的性质: 二叉搜索树操作 基本框架 #pragma once#include <iostream>using namespace std;// 定义二叉搜索树...
深入了解数据结构第四弹——排序(1)——插入排序
前言: 什么是插入排序? 插入排序实际上就是将一个数字按照大小顺序插入到已知的序列中去 一、直接插入排序 插入排序的代码如下: void InsertSort(int* a, int n){ for (int i = 1; i < n; i++) { int end = i - 1; int tmp=a[i]; while (end>=0) { if (tmp > a[end]) { a[end +...
【LeetCode: 628. 三个数的最大乘积 + 排序 + 贪心】
🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 排序 + 贪心🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 628. 三个数的最大乘积 ⛲ 题目描述 给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入:nums = [1,2,3] 输出:6 示例 2: 输入:nums = [1,2,3,4] 输出:24 示例 3...
对称排序(蓝桥杯)
文章目录 对称排序问题描述模拟 对称排序 问题描述 小蓝是一名软件工程师,他正在研究一种基于交换的排序算法,以提高排序的效率。 给定一个长度为 N 的数组 A,小蓝希望通过交换对称元素的方式对该数组进行排序。 具体来说,小蓝可以对数组 A 执行以下操作任意次数: 选择某个索引 (1≤i≤N ) 并交换从前往后数第 i 个元素和从后往前数第 i 个元素。 更正式地,选择一个索引 i 并交换 A和 A。...
快速排序算法在处理不同容量数组时的数据可视化
回忆快速排序: 链接: link #将不同数据规模数组快排时间可视化import timeimport randomimport matplotlib.pyplot as pltimport numpy as np#三值取中法取轴值def FindPivox(nums,left,right): mid=(left+right)//2 if nums[left]>nums[mid]: nu...
Python头歌排序程序怎么写
在Python中,编写一个头歌排序(即冒泡排序)程序相对简单。冒泡排序是一种简单的排序算法,它重复地遍历列表,比较每对相邻的元素,并在必要时交换它们的位置。这个过程会一直重复,直到没有元素需要交换,即列表已经排序完成。以下是一个基本的冒泡排序程序示例: ```python def bubble_sort(arr): n = len(arr) # 遍历所有数组元素 for i i...
【图论】【树】 【拓扑排序】2603. 收集树中金币
本文涉及知识点 图论 树 拓扑排序 LeetCode 2603. 收集树中金币 给你一个 n 个节点的无向无根树,节点编号从 0 到 n - 1 。给你整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 之间有一条边。再给你一个长度为 n 的数组 coins ,其中 coins[i] 可能为 0 也可能为 1 ...
【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)
前言 本篇博客会对排序做一个收尾,将最经典的七大排序介绍完毕。 这次的重点正如标题,主要讲的是归并排序,还会带过相对简单很多的冒泡排序和选择排序。在最后还会给这七大排序做出一个时间复杂度和稳定性展示的总结收尾。同时,这也是初阶数据结构的最后一篇。待到再次与数据结构见面时,就会用C++来讲解,因为进阶数据结构相对复杂,用C++会相对轻松一些。话不多说,开始我们今天的内容。 归并排序 归并的思想逻辑 归...
C++之STL的algorithm(6)之排序算法(sort、merge)整理
C++之STL的algorithm(6)之排序算法(sort、merge)整理 注:整理一些突然学到的C++知识,随时mark一下 例如:忘记的关键字用法,新关键字,新数据结构 C++ 的排序算法整理 C++之STL的algorithm(6)之排序算法(sort、merge)整理一、排序算法1、sort算法2、random_shuffle 随机洗牌算法3、reverse 反转算法4、 merge 合...
【逆向思考 】【拓扑排序】1591. 奇怪的打印机 II
本文涉及的知识点 逆向思考 拓扑排序 LeetCode1591. 奇怪的打印机 II 给你一个奇怪的打印机,它有如下两个特殊的打印规则: 每一次操作时,打印机会用同一种颜色打印一个矩形的形状,每次打印会覆盖矩形对应格子里原本的颜色。 一旦矩形根据上面的规则使用了一种颜色,那么 相同的颜色不能再被使用 。 给你一个初始没有颜色的 m x n 的矩形 targetGrid ,其中 targetGrid[...