随笔分类 - 算法
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###前言 贪心算法(又称贪婪算法)是指: 在对问题求解时,总是做出局部最优解。 贪心算法的基本思路: 根据某个优化测度,每一步都要确保能获得局部最优解。 每一步只考虑一个数
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###简介 动态规划遵循一套固定的流程:递归的暴力解法( O(2^n) ) -> 带备忘录的递归解法( O(n) ) -> 非递归的动态规划解法( O(n) )。 「自顶向下
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot 堆在存储器中的表示是数组,堆只是一个概念上的表示。堆的同一节点的左右子节点都没有规律。 堆适合优先级队列(默认排列顺序是升序排列,快速插入与删除最大/最小值)。 ###数组与
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###栈的实现 /** * 栈的实现:数组 */ class MyStack1<T>{ private T[] data; private int maxLength; pr
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###链表1 class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null;
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###链表 class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } ###反转链表 /
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用VUE2,聊天室使用VUE3,后台使用Spring Boot 简介 二分排序是指利用二分法的思想对插入排序进行改进的一种插入排序算法, 可以利用数组的特点快速定位指定索引的元素。 二分法排序的思想 必须是有序数组 在插入第i个元素时,对
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用VUE2,聊天室使用VUE3,后台使用Spring Boot 概述 插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。 希尔排序是非稳定排序算法。 1 class ShallSort { 2 public vo
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用VUE2,聊天室使用VUE3,后台使用Spring Boot 概述 选出最小的或最大的元素放到排序元素的后面,然后再从剩下未排序的元素继续选择。 不稳定(相等的数可能互换位置) 5 8 5 2 9 第一次5和2互换,会使第一个5跑后面去
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用VUE2,聊天室使用VUE3,后台使用Spring Boot 概述 一种分治的排序算法,他将一个数组分成两个数组,将两部分独立的排序。 快速排序和归并排序是互补的 归并排序是将数组分成两个子数组分别排序,并将有序的子数组归并以将整个数组
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用VUE2,聊天室使用VUE3,后台使用Spring Boot 复杂度 平均时间复杂度: O( n log n) 空间复杂度: O(n) 稳定性:稳定 基本思想 将一个整体的数组被分解成以数组中单一元素为基本单位的多区域集合, 此时,在每
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用VUE2,聊天室使用VUE3,后台使用Spring Boot 直接插入排序基本思想 插入排序对于少量元素的排序是很高效的 把n个待排序的元素看成为一个有序表和一个无序表。 开始时有序表中只包含1个元素,无序表中包含有n-1个元素, 排序
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用VUE2,聊天室使用VUE3,后台使用Spring Boot 简介 计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。 它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用VUE2,聊天室使用VUE3,后台使用Spring Boot 原理 比较两个相邻的元素,将值大的元素交换至右端。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名。 算法分析 冒泡排序算法的性能 排序类别 排序方
阅读全文
