- 博客(13)
- 资源 (22)
- 收藏
- 关注
原创 动态规划解连续子数组的最大和问题
package Sword69;// 连续子数组的最大和// 在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。// 但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?// 例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。// 给一个数组,返回它的最大连续子序列的和?(子向量的长度至少是1)// 求最优值 一般为动态规划 有两种方案:自顶向下(递归+动态规划)、.
2021-01-22 14:40:05
116
原创 1. 回溯法解全排列问题
package Sword69;import java.util.ArrayList;import java.util.List;// 全排列 N皇后 采用回溯法// 回溯法框架:// 1. 做选择,即加入到选择list// 2. 递归(选择list, 可选list)// 3. 取消选择,即从选择list移除public class Code025{ public static void main(String[] args) { int[] arr.
2021-01-22 14:36:52
147
1
原创 10. 堆排序
package Sort;import java.util.Arrays;// 堆排序 是一种利用堆结构的选择排序,// 每次堆调整完成后,根就是最大值,取下根节点重新调整,直到堆只有一个元素// 从最后一个非叶子结点开始(叶结点自然满足堆原则),从左至右,从下到上(i--逆序遍历非叶子节点),调整节点与子节点的位置使其满足堆原则// nlognpublic class BigHeapSort{ public static void main(String []args){ .
2021-01-16 09:40:23
122
原创 9. 基数排序
package Sort;//基数排序,与计数排序,桶排序都是利用桶的概念,只是使用方法有些差异// 基数排序步骤,// 1. 按个位数进行排序// 2. 按十位数排序// 3. 按百位数排序public class RadixSort{ /* * 获取数组a中最大值 * * 参数说明: * a -- 数组 * n -- 数组长度 */ private static int getMax(int[.
2021-01-16 09:38:43
76
原创 8. 桶排序
package Sort;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;// 桶排序是计数排序的扩展(桶区间为1即为计数排序),分支思想, 每个桶有序,再合并// 极端场景 所有元素集中在一个桶 则桶排序无意义// 先定界范围, 然后按区间划分桶public class BucketSort{ public static void main(String[] arg.
2021-01-16 09:38:08
105
原创 7. 计数排序
package Sort;import java.lang.reflect.Array;import java.util.Arrays;// 计数排序, 空间换时间// 需要知道序列的最大值和最小值, 开辟一个数组,索引为元素的值, 值为元素出现的次数, 然后将数组按出现的次数依次拷回到原数组// n+kpublic class CountSort{ public static void main(String[] args) { int[] arr = .
2021-01-16 09:37:18
79
原创 6. 希尔排序
package Sort;import java.util.Arrays;// 与直接插入排序的区别和联系:按步长分组,同一组内进行直接插入排序(直接插入步长为1,希尔排序一般选n/2为步长,依次除以2)// 时间复杂度 nlognpublic class ShellSort{ public static void main(String[] args) { int[] arr = {5, 4, 3, 2, 1}; ShellSort(arr,.
2021-01-16 09:36:24
83
原创 5. 归并排序
package Sort;import java.util.Arrays;// 归并排序// 从中间分组,分成两组排序(如果左索引小于右索引则继续划分), 各自排完后再合并到一起public class MergeSort{ public static int[] mergeSort(int[] nums, int l, int h) { if (l == h) return new int[] { nums[l] }; in.
2021-01-16 09:35:40
96
原创 4. 选择排序
package Sort;import java.util.Arrays;// 起始位 与最小值位交换public class SelectSort{ public static void main(String[] args) { int[] arr = {5, 4, 3, 2, 1}; for (int i = 0; i < arr.length; i++) { int x = arr[i]; .
2021-01-16 09:34:50
73
原创 3. 快速排序
package Sort;import java.util.Arrays;// 快速排序思想, 选第一个数(或其他数),比他小的放左边, 比他大的放右边// 挖坑, 前面有坑,从后面遍历,比他基准值小的就填坑进去;后面有坑,从前面遍历, 比基准值大的就填进去// 遍历完一轮后, 比基准值小的都在左边,比基准值大的都在右边,再分成两份再重复操作,直到只有一个元素(左索引大于等于右索引)就返回public class QuickSort{ public static void main.
2021-01-16 09:33:18
123
2
原创 2. 插入排序
package Sort;import java.util.Arrays;// 将 元素插入到已经排好序的 序列, 插入操作需要移动有序序列的元素腾位置public class InsertSort{ public static void main(String[] args) { int[] arr = {5, 4, 3, 2, 1}; for (int i = 1; i < arr.length; i++) { .
2021-01-16 09:32:35
65
原创 1. 冒泡排序
package Sort;import java.util.Arrays;// 相邻元素交换public class BubbleSort{ public static void main(String[] args) { int[] arr = {5, 4, 3, 2, 1}; for (int i = 0; i < arr.length; i++) { for (int j = i + 1; j .
2021-01-16 09:31:59
68
原创 如何设置Internet连接共享
这里以Win10为例,介绍如何设置Internet连接共享。一、右键单击电脑桌面左下角开始位置,选择网络连接二、右键选择宽带连接(用于连接外部网络的网络连接),再选择属性三、选择共享,并勾上“允许其他网络用户通过此计算机的Internet连接来连接”,选中“请选择一个专用的网络连接”四、选择你想要共享的网络连接即可
2016-10-17 14:42:48
22476
WIFI启动助手简版(快速启动).zip
2016-10-19
IBM PC Assembly Language and Programming 4th ed pdf
2015-03-12
IBM PC Assembly Language and Programming 5th ed pdf
2015-03-12
黑客入门训练.rar
2014-07-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人