![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
基本算法
文章平均质量分 97
八大基础排序算法
linkingfei
coder;
展开
-
算法入门概述
一、算法思想 1、 分治法 分治法即分而治之,将一个复杂问题分解为若干个相同的 子问题,把子问题可以继续分解,直到求出简单子问题解, 把解逐个合并。 典型案例 快速排序 二分搜索法 2、动态规划 动态规划也是将问题分解为若干子问题,不同的是,动态规划的 分解子问题存在依赖关系,前一个局部解为后一个的前提,最后 一个接为问题最终结果。 典型案例 最短路径算法 3、贪心算法 在对问题求解时,考虑局部最优 4、回溯算法 是一种穷举尝试的算法,在尝试的过程中寻找问题的解, 当不满足求解条件时,返回回溯,尝试原创 2021-01-29 21:50:15 · 166 阅读 · 0 评论 -
基本数据结构概述
1、基本数据结构分类 1.1 数组 数组一般用来存储相同类型的数据,可通过数组名和下标进行数据的访问和更新。数组中元素的存储是按照先后顺序进行的,同时在内存中也是按照这个顺序进行连续存放。数组相邻元素之间的内存地址的间隔一般就是数组数据类型的大小。 1.2 链表 链表相较于数组,除了数据域,还增加了指针域用于构建链式的存储数据。链表中每一个节点都包含此节点的数据和指向下一节点地址的指针。由于是通过指针进行下一个数据元素的查找和访问,使得链表的自由度更高。 这表现在对节点进行增加和删除时,只需要对上一节点的转载 2020-11-01 11:20:53 · 2566 阅读 · 0 评论 -
红黑树
红黑树: 自平衡二叉查找树 特点: 1.节点是红色或黑色。 2.根节点是黑色。 3.每个叶子节点都是黑色的空节点(NIL节点)。 4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。 结构如下: 插入或删除失衡: 方法:旋转、变色 具体参考: https:/...转载 2018-08-15 17:51:49 · 144 阅读 · 0 评论 -
八大排序算法
冒泡:时间复杂度O(n2),完全有序的情况下O(n),稳定 public static void sort(int[] array){ for(int i=0;i<array.length-1;i++){ for(int j=0;j<array.length-i-1;j++){ ...原创 2018-08-17 19:50:27 · 182 阅读 · 0 评论 -
基本排序算法
插入排序: /* 相对稳定的 * 最好时,数列相对有序,时间复杂度O(n) * 最差:为双层嵌套循环,其时间复杂度为O(n2) */ public static void sort(int[] array){ for(int i=1;i<array.length;i++){ ...原创 2018-04-21 12:44:16 · 150 阅读 · 0 评论 -
选择排序及优化
选择排序public class SelectSort { private int[] array; public SelectSort(int[] array){ this.array=array; } //未优化时的排序 public void sort(){ int length=array.length; //n原创 2017-11-10 17:16:55 · 268 阅读 · 0 评论