计算机基础
文章平均质量分 82
谷禾水
多年挖坑,放火,填坑,线上救火经验。
展开
-
算法——排序——堆排序图解动画
堆排序原创 2022-01-14 12:57:28 · 875 阅读 · 2 评论 -
算法——排序——快速排序图解动画
快速排序简介代码示例排序过程时间复杂度最差时间复杂度最优时间复杂度 && 平均时间复杂度空间复杂度稳定性简介 快速排序是二分法排序。首先会选择一个基准元素,然后将基准值以外的元素分为[比基准值小]和[比基准值大]两个类别。整体数组为[比基准值小]基准元素[比基准值大]的结构。 然后再对两个[]中的元素原创 2021-07-08 09:17:13 · 1777 阅读 · 6 评论 -
算法——排序——归并排序图解动画
归并排序简介代码示例排序过程时间复杂度空间复杂度稳定性简介归并排序分为两部分:分解,合并。分解:归并算法会把数组分成两个长度相同的子数组,直到无法再分割,每个数组只有一个元素。此过程不消耗时间资源。对应的时间复杂度为O(1)。合并:首先比较两个数组内的各个元素大小,然后根据比较结果将两个数组合并成一个有序数组。此过程会将每行的所有的子数组内的所有元素进行一次比较合并,所以完成一行的归并操作所对应的时间复杂度为O(N)。分解元素时采用的是二分法对半分割,所以数组被分解为log2n次,即8个元素的数组原创 2021-07-06 08:44:21 · 1174 阅读 · 0 评论 -
算法——排序——插入排序图解动画
插入排序简介代码示例排序过程时间复杂度最差时间复杂度&平均时间复杂度最优时间复杂度空间复杂度稳定性简介插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。文章中使用的动画网站地址,限 pc: 排序算法动画http://www.d原创 2021-06-29 08:14:51 · 584 阅读 · 0 评论 -
算法——排序——选择排序图解动画
选择排序简介代码示例排序过程时间复杂度最差时间复杂度&平均时间复杂度最优时间复杂度空间复杂度稳定性简介选择排序(Selection Sort),它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。文章中使用的动画网站地址,限 pc: 排序算法动画http://www.donghuasuanfa.com/原创 2021-06-28 09:07:30 · 374 阅读 · 0 评论 -
算法——排序——冒泡排序图解动画
简介冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。以升序为例。顺序轮序数组内元素。依次比较两个相邻的元素,如果顺序错误就交换位置。每轮遍历后右侧元素为最大值。共进行n轮轮序,最终排序完成。排序过程时间复杂度最差时间复杂度平均时间复杂度最优时间复杂度O(N2) O(N^2) O(N2)O(N2) O(N^2) O(N2)O(N) O(N) O(N)空间复杂度空间复杂度: O(1)...原创 2021-06-27 17:18:26 · 1527 阅读 · 0 评论 -
计算机基础——互联网系统高可用性总结
多年 To C系统开发维护经验,负责系统不能出半点差错。如果出问题,运气好的只是绩效问题和跨部门修复大量上下游数据。运气不好的恐怕要被祭天。常在河边走,哪有不湿鞋。但在一个地方湿鞋就不好了。所以平时总结一些经验,防止不重复再同一个地方湿鞋。 同时也偶尔看看别人如何湿的鞋,防止自己在相同地方湿鞋。原创 2021-02-04 09:47:42 · 377 阅读 · 2 评论 -
数据结构——树——二叉树图解动画
文章目录二叉树简介二叉树遍历前序遍历中序遍历后序遍历层序遍历二叉树操作二叉树插入节点二叉树删除节点二叉树简介在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。一棵深度为k,且有2^k-1个结点的二叉树,称为满二叉树。这种树的特点是每一层上的结点数都是最大结点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且或者最后一层是满的,或者是在右边缺少连续若干结点,原创 2020-06-04 07:14:15 · 2117 阅读 · 3 评论 -
知识点总结——总体概览图
知识点总结JAVAjava 基础java 多线程java 集合框架框架篇springmybatisJAVAjava 基础java 多线程java 集合框架框架篇springmybatis原创 2019-05-13 07:44:58 · 579 阅读 · 0 评论 -
信息论——熵——相对熵
相对熵:相对熵:又称KL散度(Kullback–Leibler divergence),是描述俩个概率分布P和Q差异的一种方法。公式:DKL(P||Q)=−∑iP(i)logQ(i)P(i)DKL(P||Q)=−∑iP(i)logQ(i)P(i)D_{KL}(P||Q)=-\sum_iP(i)log\frac{Q(i)}{P(i)} DKL(P||Q)=∑iP(i)logP(i)...原创 2018-03-28 07:24:44 · 2177 阅读 · 0 评论 -
信息论——熵——信息熵
信息熵:信息熵:又被称为香农熵,因为是香农将人力学的熵引入到信息论。公式:H(X)=−∑i=1np(xi)log2p(xi)H(X)=−∑i=1np(xi)log2p(xi)H(X)=-\sum_{i=1}^n p(x_i)log_2p(x_i) 注:因为概率为小数,所以负号的目的是将log运算的结果变为正数。 或者 H(X)=∑i=1np(xi)log2p(1xi)H(X)=∑...原创 2018-03-27 08:53:48 · 1699 阅读 · 0 评论 -
信息论——熵——交叉熵
交叉熵:交叉熵:主要用于度量两个概率分布间的差异性,交叉熵是表示两个概率分布p、q,其中p表示真实概率,q表示非真实概率。公式:H(p,q)=∑ipilog(1qi)H(p,q)=\sum_{i} p_ilog(\frac{1}{q_i})例:一支小组4个球队(a、b、c、d),出现的概率分别为pip_i=(12\frac{1}{2},14\frac{1}{4},18\frac{1}{8},18\f原创 2018-03-27 08:20:51 · 903 阅读 · 0 评论