希尔排序 ======== 希尔排序是插入排序的变体。在插入排序中,我们只将元素向前移动一个位置。当一个元素必须向前移动很远时,就会涉及到许多动作。shellSort的想法是允许远距离项目的交换。在shellSort中,我们将数组h排序为一个较大的h值。我们不断减少h的值,直到它变为1。如果每h个元 ...
分类:
编程语言 时间:
2019-11-21 19:59:08
阅读次数:
149
题目描述: 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 思路分析: 思路一:排序+遍历,如果是升序,那就是返回nums[n-k],如果是降序,那就是返回nums[k-1] 时间复杂度:O(Nlogn) 空间复杂度:O( ...
分类:
编程语言 时间:
2019-11-20 15:34:02
阅读次数:
81
1.什么是Comparable接口 此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort (和 Arrays.sort )进行自动排序。实现此接口的 ...
分类:
其他好文 时间:
2019-11-16 19:32:50
阅读次数:
77
1 常用的数据结构 2 高级数据结构 3 排序 4 查找 5 深度与广度优先搜索 6 动态规划 7 设计模式 数据结构和算法 1 常用的数据结构 栈 数组、字符串 队列 链表 树 双端队列 2 高级数据结构 优先队列 图 前缀树 线段树 树状数组 3 排序 基本排序 冒泡排序 选择排序 插入排序 希 ...
分类:
编程语言 时间:
2019-11-16 10:48:43
阅读次数:
92
数组:在java中,可以时使用以下格式来定义一个数组:int【】x=newint【100】;也可以分成两句:int【】x;x=newint【100】;数据类型【】数组名或数据类型数组名【】数组分为一维数组,二位数组和多维数组。通过new关键字创建空间,a=newint【10】数组长度a。length(数组属性)人工初始化数组,静态数组和动态数组排序方法有:冒泡排序法和选择排序法
分类:
其他好文 时间:
2019-11-10 21:09:38
阅读次数:
64
一丶JavaScript push() 方法 数组中添加新元素: var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.push("Kiwi") fruits 结果输出: Banana,Orange,Apple,Mango,Kiwi 定 ...
分类:
编程语言 时间:
2019-11-06 15:20:43
阅读次数:
119
题目 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例?2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 说明 ...
分类:
编程语言 时间:
2019-11-05 00:32:32
阅读次数:
71
任何一门编程语言,数组都是最重要和常用的数据结构之一,但不同的语言对数组的构造与处理是不尽相同的。 Java中提供了java.util.Arrays 类能方便地操作数组,并且它提供的所有方法都是静态的。下面介绍一下Arrays类最常用的几个方法。 1. 数组排序 Arrays工具类提供了一个sort ...
分类:
编程语言 时间:
2019-11-04 13:53:13
阅读次数:
56
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 ...
分类:
编程语言 时间:
2019-11-03 18:13:10
阅读次数:
75
冒泡排序 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成 冒泡排序: function bubbleSort(arr){ var len=arr.le ...
分类:
编程语言 时间:
2019-10-31 13:27:05
阅读次数:
73