初级算法
初级算法笔记本
Esrs
这个作者很懒,什么都没留下…
展开
-
树的前序、中序、后序遍历
前序遍历:按照根节点、左子树、右子树的顺序进行遍历中序遍历:按照左子树、根节点、右子树的顺序进行遍历后序遍历:按照左子树、右子树、根节点的顺序进行遍历例:对于上图前序遍历:ABDEGHCF中序遍历:DBGEHACF后序遍历:DGHEBFCA...原创 2020-09-29 09:28:36 · 148 阅读 · 0 评论 -
LC 只出现一次的数字(异或解法)
异或:定义:如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。符号:⊕特性:任何数和 00 做异或运算,结果仍然是原来的数,即 a⊕0=a、a⊕0=a。任何数和其自身做异或运算,结果是 00,即 a⊕a=0、a⊕a=0。异或运算满足交换律和结合律,即 a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b在计算机中的表示^题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。原创 2020-10-06 12:21:19 · 480 阅读 · 0 评论 -
八种排序算法的Java实现
冒泡排序定义它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。代码public class BubbleSort { public static void main(String[] args) { int[] a=new int[]{100,2,6,-1,98,70}; bubbleSort(a);原创 2020-10-01 14:31:48 · 145 阅读 · 0 评论 -
树的深度搜索遍历DFS
定义:深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。例题求图中的V0出发,是否存在一条路径长度为4的搜索路径。分析:伪代码:/** * DFS核心伪代码 * 前置条件是visit数组全部设置成false * @param n 当前开始搜索的节点 * @param d 当前到达的深度,也即原创 2020-09-29 14:46:24 · 1149 阅读 · 0 评论