根据数组构建二叉树,并深度、广度优先遍历二叉树: import java.util.ArrayDeque; public class BinaryTree { static class TreeNode { int va…
标签:算法
Median of Two Sorted Arrays
There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median …
数据结构—判断两个链表是否相交,寻找两个链表的相交节点
【题目】 判断两个链表(链表可以有环,可以无环)是否相交,若相交,则返回相交节点,不相交则返回null 1.判断两个链表是否相交 【思路】 两个链表分三种情况: ①两个链表均为非环链表; ②两个链表一个为环,一个非环; …
辗转相除法的证明
辗转相除法的证明: 辗转相除法 又叫做「欧几里得算法」,是公元前 300 年左右的希腊数学家欧几里得在他的著作《几何原本》提出的.利用这个方法,可以较快地求出两个自然数的最大公因数,即 HCF 或叫做 gcd.所谓最大公…
常用排序算法的实现
定义数据结构 package sort; public class Data { public int number; public String tag = ""; public Data(int data, Stri…
图的建立与查找
本人做此文档用于复习,如有什么不明白的地方,可以留言。 本文档是一步一步教你怎么写算法的,首先是建立一个节点,然后建立了一条线,之后用一个函数把线和节点联系起来,最后在把线和节点组成图。 #include <std…
LRU cache实现 (Java)
引子: 我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系了,要再次联系那位朋友的时候,我们又不得不求助电话本,但是,通过电话本查找…
找小于某一整数内的素数
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> /* * 求n以内…
基本排序算法
MySort.java package cn.edu.wtu.sort; public class MySort { /** * 冒泡排序 * * @param a */ public static void bubbl…
几种基本的排序算法
本文将介绍几种基本的排序算法,如冒泡排序,选择排序,插入排序,希尔排序,归并排序。 首先写好交换两个元素的模板: private void exch(int[] a, int lo, int hi) { int temp…
《算法导论》第六章优先队列 python 实现
优先队列是堆排序的一个应用 : 支持的操作:返回最大值,去掉并返回最大值,插入元素 def max_heapify(A, i, heap_size): l = 2 * i r = 2 * i + 1 if l <=…
罗马数字
罗马数字规则: 罗马数字以前只接触过I到VIII,第一次听说罗马数字也可以表示大于8的数字。阿拉伯数字和罗马数字之间的转换最重的是了解罗马数字的规则。Wiki了一把,又参考了其它的文档,总结如下: 罗马数字规则: 1, …