摘要:
二分法 摘要 本文主要介绍二分法。二分法是一种精妙的算法,效率贼高,很多复杂的算法都采用了二分优化。 二分法用于在单调的序列内快速查找某个值,方法是序列分为两半,判断要查找的值在哪个区间,舍弃另一半,每次查询都会舍弃序列的一半,所以时间复杂度是log(n) 二分查找 在有序的序列中查找x是否存在 每 阅读全文
posted @ 2021-04-17 20:57
记录学习Blog
阅读(606)
评论(0)
推荐(0)
摘要:
位运算基础 1.什么是位运算 位运算又称为位操作,指的是直接对二进制位进行的一系列操作。 2.位运算有哪些 AND( & ) 按位与 1 & 1 = 1 1 & 0 = 0 0 & 0 = 0 1101 & 1100 = 1100 OR( | ) 按位或 1 | 1 = 1 1 | 0 = 1 0 阅读全文
posted @ 2021-04-17 20:52
记录学习Blog
阅读(352)
评论(0)
推荐(0)
摘要:
深度优先搜索(DFS)和广度优先搜索(BFS)(未实现) 摘要 本文主要介绍 深度优先搜索和广度优先搜索,下文皆称为DFS和BFS。 DFS和BFS是两种搜索树和图的基本策略,见名知其义, 深搜和广搜,一种往深处搜,一种往边上搜。 DFS常用于暴力搜索所有状态,BFS常用于搜索到达某一状态的最短路径 阅读全文
posted @ 2021-04-17 19:32
记录学习Blog
阅读(96)
评论(0)
推荐(0)
摘要:
递归(未实现) 摘要 本文将主要介绍递归。学好递归要多刷题,本文末尾给出了一些经典题目,做完这些题对理解递归有很大的帮助。 递归 递归的含义很好理解,就是一个函数调用自身,难就难在如何确定一个题目的递归式,这就需要多刷题了。 一个完整的递归函数包含两个部分: 递归式 递归出口 以斐波那契数列为例: 阅读全文
posted @ 2021-04-17 19:10
记录学习Blog
阅读(110)
评论(0)
推荐(0)
摘要:
java中sort方法的自定义比较器写法 摘要 在做一些算法题时常常会需要对数组、自定义对象、集合进行排序. 在java中对数组排序提供了Arrays.sort()方法,对集合排序提供Collections.sort()方法。对自定义对象排序时要自己重写比较器,对象数组则调用Arrays.sort( 阅读全文
posted @ 2021-04-17 19:05
记录学习Blog
阅读(3023)
评论(0)
推荐(0)
摘要:
算法竞赛中的常用JAVA API:PriorityQueue(优先队列) PriorityQueue 翻译过来就是优先队列,本质是一个堆, 默认情况下堆顶每次都保留最小值,每插入一个元素,仍动态维护堆顶为最小值。 初始化 PriorityQueue()//使用默认的初始容量(11)创建一个 Prio 阅读全文
posted @ 2021-04-17 15:31
记录学习Blog
阅读(2306)
评论(0)
推荐(0)
摘要:
算法竞赛中的常用JAVA API :HashSet 和 TreeSet set set容器的特点是不包含重复元素,也就是说自动去重。 HashSet HashSet基于哈希表实现,无序。 add(E e)//如果容器中不包含此元素,则添加。 clear()//清空 contains(Object o 阅读全文
posted @ 2021-04-17 15:10
记录学习Blog
阅读(131)
评论(0)
推荐(0)
摘要:
PDL语言 伪码伪代码 基本语法 算法用Begin开始,以End结束(如果只表示中间部分的算法可以不要) 每一条指令,占一行。指令的结束不用任何符号 注释 用"//"表示 用Print和Input表示输出和输入 用←表示赋值 a←3 a = 3 用缩进表示代码块的结构 如果 if while for 阅读全文
posted @ 2021-04-17 14:51
记录学习Blog
阅读(8553)
评论(0)
推荐(1)

浙公网安备 33010602011771号