链滴
社区愿景和功能特性
优雅的 Markdown 所见即所得编辑
快捷键交互
随时自由编辑分享内容
支持注销账号来去自由
分布式社区网络
开放 API
产品
Symphony 社区系统(Java)
Solo 博客系统(Java)
Vditor 编辑器(TypeScript)
思源笔记(Electron、Go)
Pipe 博客平台(Vue、Go)
发展计划表
发展简史
榜单
GitHub 仓库排行
帖子打赏排行
Solo 博客端排行
积分排行
活跃度排行
贡献排行
本站基于开源项目 Sym
编程代码问答
登录
注册
首页
>
标签
排序
19
引用 •
16
回帖 •
1
关注 •
405
浏览
参与讨论
关注
关注
分享
int
12
引用 •
18
回帖
list
10
引用 •
15
回帖
《程序设计经典》
1
引用 •
1
回帖
算法
428
引用 •
254
回帖 •
24
关注
首页
4
引用 •
40
回帖
线性排序
1
引用
错误
4
引用 •
31
回帖
默认
热议
好评
优选
最近回帖
关注者
查看所有标签
关于 SiYuan v3.1.12 后默认自动清理超过 180 天快照的调查
目前思源加入了自动的快照清理功能,触发时机如下: 手动触发同步 每 24 小时执行一次 默认的配置是保留 180 天内的快照,每天保留两份。 在启动、退出时的同步不会触发,但是 30s 的自动同步会触发。 我个人不喜欢这个设计,因此以下的描述可能会有偏颇。不喜欢的原因如下: 清理功能是自动的且没有开关默认开启,这导致假 ..
400
10 小时前
根据指定属性和排序规则为数组进行排序
2020-08-17 描述 将数组对象根据指定的属性和排序方式进行排序。 提示 使用 Array.prototype.sort() 在给定的 props 数组上使用默认值为 0 的 Array.prototype.reduce() 方法 根据传如的排序规则使用数组解构来交换其属性位置 orders 数组的默认值为 'a ..
276
4 年前
排序优化:如何实现一个通用的、高性能的排序函数?
本文章是从极客时间抄写的,仅仅是看不懂,抄了一遍,分享给大家。 版权归极客邦科技所有 几乎所有的编程语言都会提供排序函数,比如 C 语言中 qsort(),C++ STL 中的 sort()、stable_sort(),还有 Java 语言中的 Collections,sort()。在平时的开发中,我们也都是直接使用这 ..
380
5 年前
排序(下):如何用快排思想在 O(n) 内查找第 K 大元素?
本文章是从极客时间抄写的,仅仅是看不懂,抄了一遍,分享给大家。 版权归极客邦科技所有 上一节我讲了冒泡排序、插入排序、选择排序这三种排序算法,它们的时间复杂度都是 O(n2),比较高,适合小规模数据的排序。今天,我讲两种时间复杂度为 O(nlogn)的排序算法,归并排序和快速排序。这两种排序算法适合大规模的数据排序,比 ..
339
5 年前
排序(上):为什么插入排序比冒泡排序更受欢迎?
本文章是从极客时间抄写的,仅仅是看不懂,抄了一遍,分享给大家。 版权归极客邦科技所有 排序对于任何一个程序员来说,可能都不会陌生。你学的第一个算法,可能就是排序。大部分编程语言中,也都提供了排序函数。在平常的项目中,我们也经常会用到排序。排序非常重要,所以我会花多一点时间来详细讲一讲经典的排序算法。 排序算法太多了,有 ..
225
5 年前
回顾快速排序算法
快速排序(Quicksort)是对[链接]的一种改进。 快速排序由 C. A. R. Hoare 在 1962 年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以[链接]进行,以此达到整 ..
229
5 年前
日常算法——希尔排序
希尔排序 希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因 DL.Shell 于 1959 年提出而得名。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行 ..
152
6 年前
日常算法——简单选择排序
简单选择排序 比如在一个长度为 N 的无序数组中,在第一趟遍历 N 个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的 N-1 个数据,找出其中最小的数值与第二个元素交换......第 N-1 趟遍历剩下的 2 个数据,找出其中最小的数值与第 N-1 个元素交换,至此选择排序完成。 如图所示: [图片] 代码 ..
213
6 年前
日常算法——快速排序
快速排序 快速排序采用的思想是分治思想。 快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他 n-1 个元素也调整到排序后的正确位置。最后每个元素 ..
230
6 年前
日常算法——插入排序
直接插入排序 基本思想: 在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排 好顺序的,现在要把第 n 个数插到前面的有序数中,使得这 n 个数也是排好顺序的。如此反复循环,直到全部排好顺序。 [图片] 代码实现 package Suanfa; import java.util.ArrayList; ..
124
6 年前
日常算法——桶排序
序言 时常动动脑,做做算法题还是挺有意思的,温习下桶排序。 桶排序 桶排序是排序算法中最简单最快的排序算法。主要思想就是,以数组为桶,桶有序号,序号即数组的索引。遍历待排序的数组,把该数值放入与之相等的序号的桶内,然后从桶中取出非零值得下标即可。 代码实现 public class BucketSort { priva ..
128
6 年前
堆排序的实现。。闲的没事手撸了一个。。
//HeapUtil.heapSort(arr) class HeapUtil { public static void swap(IList list, int i, int j) { T tmp = list[i]; list[i] = list[j]; list[j] = tmp; } public static ..
224
7 年前
求助了,代码遇到了问题,排序算法达不到排序效果
public class SortSelectionAlgorithm { public static > T[] sortSelection(T arr[]){ if(arr!=null &&arr.length>0){ int n = arr.length; for (int i = 0 ..
460
7 年前
PriorityQueue 原理 - 堆排序
什么是 PriorityQueue,它有什么用? 什么是堆,什么是最大堆? 怎么将堆调整为最大堆? 堆排序原理 [图片] 可视化动画 VisuAlgo 在 2011 年由 Steven Halim 博士概念化,是用于帮助他的学生更好地理解数据结构和算法。如果你想了解更多算法实现,这是个不错的网站。 地址:二叉堆优先队列 ..
152
7 年前
关于帖子排序
看了一下 hacpai 的帖子排序好像是以发帖时间排序的? 很多大家感兴趣的帖子都沉底了。 D 大有没有想过使用某种排序算法,以时间,帖子回答数计算帖子的权重。 比如 Hacker News 的算法:Score=(P-1)/(T+2)^G ps:好想 contribute 啊。
362
7 年前
【Java】实现按中文首字母排序
今天发现一个很方便的一个API,之前写中文首字母排序可能要一个拼音库,然后得到中文的首字母,然后再进行ASCII排序,其实我们可以根据Java提供的API更简单的实现 [图片] 我们来使用这个重载函数来实现中文首字母排序: public static void sort(T[] a, Comparator c) 排序 ..
572
7 年前
TreeMap 的排序及比较器问题
TreeMap 默认按键的自然顺序升序进行排序,如果有需求要按键的倒序排序,或者按值类型进行排序呢? 在问题开始之前,让我们先回顾一下有关 Map 及其排序基本的知识点 用的最多的 HashMap,不保证映射的顺序,特别是它不保证该顺序恒久不变。 LinkedHashMap,维持元素的插入顺序。 TreeM ..
410
7 年前
面试常考数据结构与算法
# 1. 堆排序 参考[出处][1] ## 1.1 二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树。 二叉堆满足二个特性: > * 父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。 > * 每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。 当父结点的键值总是大于或等于任何一 ..
390
8 年前
《程序设计经典》-程序五
题目:冒泡排序 #include int main() { int arr[] = { 11, 33, 22, 44, 88, 77 }; int length = sizeof(arr) / sizeof(int); int temp = 0; for (int i = 0; i < length; i++) ..
541
8 年前
困扰已久的预加载问题
用户推荐 一些推荐功能,例如微博的用户推荐,文章列表的排序(根据浏览者与发布者的特征计算权重优先排序)等等,在显示列表的排序规则与每个浏览者的权重计算有关时,这种权重值有两种计算方式: 预先为每个用户生成一个权重列表(会占用空间) 用户刷新列表时再计算权重生成列表(列表数据很多时会很慢) 想知道大家在处理这类问题时,是 ..
684
7 年前