查询到最新的12条

基数排序简介及Java语言实现

基本思想 基数排序(radixsort)是在桶排序的基础上发展而来的,两种排序都是分配排序的高级实现。分配排序(distributivesort)的基本思想:排序过程无须比较关键字,而是通过“分配”和“收集”过程来实现排序。它们的时间复杂度可达到线性阶:o(n)。 基数排序是一种稳定的排序算法,但有一定的局限性:   1、关键字可分解。   2、记录的关键字位数较少,如果密集更好   3、如果是数 继续阅读

数据结构——C语言实现常见排序(插入排序、希尔排序、选择排序、堆排序、冒泡排序)

引言: 现在是北京时间2023年6月23日13点19分,度过了一个非常愉快的端午节。由于刚从学校回家,一下子伙食强度直升了个两三个档次。这也导致我的肠胃不堪重负,我也准备等会去健身房消耗一下盈余的热量。回到家陪伴爷爷走人生最后的阶段才是我这个暑假最重要的事情。自从爷爷病重后,起居都需要家人照顾,我不仅感慨岁月夺人呐。兴许五六十年后,子孙也能够在我人生最后的阶段陪伴我吧。 排序的概念 所谓排序 继续阅读

数据结构——排序(终)

目录 前言:  1.各种排序: 2.稳定性的概念和应用: 3.各种排序的稳定性: 1.冒泡排序:  2.简单选择排序:  3.直接插入排序:  4.希尔排序:  5.堆排序:  6.归并排序:  7.快速排序:  8.计数排序:  结尾:  前言:  1. 继续阅读

chatGPT教你算法(1)——常用的排序算法

0. 引言 最近喜闻ChatGPT能够帮助我们认识世界了,我必须得作为先行者下场一波了。虽然ChatGPT对主观的一些看法是拿不准的,但是常规的基础性教学真的是信手拈来,别的地方不说,作为助教,我给他打200分。 这真的让我想起来了小时候看的一个小说《师士传说》中的没有感情的牧,两者真的是太像了。 好了闲话不说,我们来看看ChatGPT教你常见的排序算法吧!是不是通俗易懂&#xf 继续阅读

Python列表从大到小排序方法

本文将从多个方面详细阐述Python列表从大到小排序方法,希望能对初学者和需要深入了解的开发者提供帮助。 一、sort()方法 sort()方法是Python内置的列表排序方法,可以按照升序或降序排序。默认是按照升序排列,如果需要按照降序排列,可以通过reverse参数进行设置。 lst = [5, 2, 9, 1, 7] lst.sort(reverse=True) print(lst) # 输出:[9, 7, 5, 2, 1] sort()方法会修改 继续阅读

Java十大经典排序算法图解

0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 0.2 算法复杂度 0.3 相关概念 稳定:如果a原本在b前面 继续阅读

python列表快速排序_python 实现快速排序

一、快排思想 快速排序可以理解为是对冒泡排序的一种改进,把一组数,按照初始选定的标杆(参照数), 分别从两端开始排序,左端'i'只要小于标杆(参照数)的数,右端'j'只要大于标杆(参照数)的数, i----->middle<-----j 每一次排序循环条件为 i != j 左端 继续阅读

七大经典排序算法图解

插入排序 ①直接插入排序 基本思想 每次从一个有序序列开始,将待排元素与有序序列中的元素从后往前逐个比较, 若有序序列中的元素大于待排元素,则将较大的元素往后覆盖; 否则,将待排元素插入其前面,并结束此轮比较。 动图演示 ​ 代码实现 void InsertSort(int* a, int n) { for (int i = 0; i < n - 1; i++) { int end = 继续阅读

TreeSet排序方法

A: TreeSet集合的特点: 元素唯一,并且可以对元素进行排序 排序: a: 自然排序 b: 使用比较器排序 到底使用的是哪一种的排序取决于,构造方法. B:案例演示: TreeSet存储Integer类型的元素并遍历 存储下列元素: 20 , 18 , 23 , 22 , 17 , 24, 19 , 18 , 24 注意:使用TreeSet集合进行元素的自然排序,那么对元素有要求,要求这个元素 必须实现Comparable接口 否则无法进行自然排 继续阅读

分布式数据库排序及优化

一、背景 1. 分布式数据库架构 当前分布式数据库架构有不少,但是总体架构相差不大,主要组件都包含协调节点、数据分片、元数据节点、全局时钟。一种常见的分布式架构如下图: gtm :全局事务管理器(全局时钟),一主多备; catalog: 元数据管理,一主多备; group: 水平分片,每个group由一主多备数据存储节点组成; proxy : 协调节点,无状态,负责处理客户端的请求,把请求 继续阅读

面试中经常被问到Java引用类型原理,带你深入剖析

1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话,可能存在同名现象,从而降低查询速度。 2.为经常需要排序、分组和联合操作的字段建立索引 经常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多时间。如果为其建立索引,可以有效地避免排序操作。 3.为 继续阅读