冒泡排序 4.1 基本介绍 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换 ...
分类:
编程语言 时间:
2020-07-07 23:42:15
阅读次数:
89
前言 二叉树顺序存bai储是二叉树的一种存储方式。将二du叉树存储在一zhi个数组中,通过存储元素的下dao标反映元素之间的父子关系。 正文 这个概念比较简单,比如一个节点的在数组的index是x,那么它的左节点就是2x+1,右节点就是2x+2。 代码: public class ArrBinary ...
分类:
编程语言 时间:
2020-07-07 19:56:14
阅读次数:
48
前言 上一节我们讲了哈希算法的四个应用,分别是安全加密、数据校验、唯一标识、散列函数。今天再来看看剩下的三个应用:负载均衡、数据分片、分布式存储。 可能大家已经发现了,这三个应用都是与分布式相关的。没错,今天我们来学习一下,哈希算法是如何解决这些分布式问题的。 应用五:负载均衡 负载均衡算法有很多, ...
分类:
编程语言 时间:
2020-07-06 20:00:29
阅读次数:
69
前言 你好这里的一个删除,指的是如果删除的叶子节点则直接删除,如果删除的是非叶子节点,则删除的是这颗子树。 这样删除的场景并不多,这种删除方式了解即可。 十七和十六没有放树图,把树图放一下。 正文 节点模型: public class HeroNode { private int no; priva ...
分类:
编程语言 时间:
2020-07-06 15:54:08
阅读次数:
71
前言 树的前中后序遍历 是根据前中后序的顺序来查找,找到了则弹出。 正文 节点模型: public class HeroNode { private int no; private string name; private HeroNode left; private HeroNode right; ...
分类:
编程语言 时间:
2020-07-06 14:41:50
阅读次数:
69
前言 理论文章: 直接看百度百科。 这个比较简单,直接放c#代码。 正文 建立节点模型: public class HeroNode { private int no; private string name; private HeroNode left; private HeroNode righ ...
分类:
编程语言 时间:
2020-07-06 13:12:08
阅读次数:
80
什么是算法分析? 比较方面: 代码风格,可读性 计算资源占用 * 空间(内存)占用 * 执行时间占用 运行时间检测 python中的time模块,当前时间,基准点 >1970年0点0时0分0秒 不同运行环境(linux or windows? 移动端or服务器?),编程语言,因此用时间作为衡量指标不 ...
分类:
编程语言 时间:
2020-07-05 23:20:43
阅读次数:
100
定义及特性 定义 是n个数据元素的有限序列,若将线性表记为$(a_1,...,a_,a_i,a_{i+1},...,a_n)$,则表中$a_$领先于$a_i$,$a_i$领先于$a_i+1$,称$a_$是$a_i$的直接前驱元素,$a_{i+1}$是$a_i$的直接后继元素。 线性表元素的个数$n( ...
分类:
编程语言 时间:
2020-07-05 13:42:30
阅读次数:
60
算法(1)--时间和空间复杂度 初识 算法定义 算法是独立存在的一种解决问题的方法和思想: 求解一个问题步骤的描述 是求解问题的方法 它是指令的有限序列 其中每条指令表示一个或者多个操作 对于算法而言,实现的语言并不重要,重要的是思想 算法特性 确定性:无二义 有穷性:合适时间内可以执行 输入项 输 ...
分类:
编程语言 时间:
2020-07-05 13:33:12
阅读次数:
78
栈 定义 栈是限定仅在表尾进行插入或删除操作的线性表。因此对栈来说,表尾端有其特殊含义,称为栈顶,表头端称为栈底。不含元素的空表称为空栈。栈顶实现元素的进出,栈的修改遵循后进先出的原则。因此,栈又称为**后进先出(last in first out)**的线性表(简称LIFO结构)。 表示及实现 栈 ...
分类:
编程语言 时间:
2020-07-05 13:22:58
阅读次数:
67