算法
文章平均质量分 52
逻辑是数学的少年时代,数学是逻辑的成年时代。
——罗素
不积硅步
纸上得来终觉浅,绝知此事要躬行!
展开
-
动态规划解题思路
动态规划入门转载 2023-03-08 10:57:13 · 79 阅读 · 0 评论 -
伪代码介绍
文章目录伪代码优点:语法规则变量声明指令的表示表达式赋值语句goto语句分支结构循环结构程序的结束注释风格函数的编写实例伪代码定义: 伪代码介于自然语言和编程语言之间,是一种描述算法的语言优点:提高了代码的可读性充当了程序与算法或流程图之间的桥梁,也可当作粗略的文档可以让程序员更好的构建代码语法规则每条指令占一行(esle if除外),指令后不跟任何符号缩进表示程序中的分支程序结构变量声明定义变量的语句不用写出来,但必须在注释中给出a <- 5 //这里的a原创 2020-09-17 16:05:19 · 36194 阅读 · 0 评论 -
比较排序:堆排序
堆讲堆排序之前,我们先讲讲堆,下面是堆的的特点堆总是一个完全二叉树每个节点大于等于或者小于等于它的子节点 二叉树: 每个非叶子节点最多有两个分支节点满二叉树: 每个非叶子节点都有两个子节点除了最后一层,其上各层 (1~h-1) 的结点数都达到最大个数,并且最后一层所有的结点都连续集中在最左边,这就是完全二叉树完全二叉树: 最后一层的最后一个节点的父节点不满足满二叉树之外,其它非叶子节点都满足满二叉树满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树堆分为最小堆和最大堆最大堆:是一原创 2022-04-03 21:28:00 · 683 阅读 · 0 评论 -
比较排序:希尔、归并、快排
文章目录希尔排序归并排序快排希尔排序插入排序的优化版本,通过修改步长使得比较次数较少,网上求步长的初始值可能有点不同稳定性:不稳定时间复杂度O(nlog(n))public class ShellSort { private void swap(Comparable[] array, int e1, int e2){ Comparable temp = array[e1]; array[e1] = array[e2]; array[e2] = t原创 2022-04-03 10:29:53 · 593 阅读 · 0 评论 -
初级的比较排序:冒泡、选择、插入
冒泡排序依据数组中两个相同的元素是否位置变化(后一个跑前一个的前面,前一个跑后一个的后面)冒泡排序是否稳定: 稳定时间复杂度 O(n2)public class BubbleSort { public void swap(Comparable[] array, int e1, int e2) { Comparable temp = array[e1]; array[e1] = array[e2]; array[e2] = temp;原创 2022-04-02 16:02:14 · 344 阅读 · 0 评论