加载中
skiplist跳跃表

插入删除log(N) TODO

07/18 22:15
55
Union Find-并查集

并查集是在各个不相交集合中查找某元素存在否,可以接近常数级查找例如,图的连通性,最近公共祖先等问题。一般用森林 数组实现。 一般有2个操作,查找(find)和合并(union) 查找:从集合中查...

2017/07/29 11:27
11
AStar寻路2-性能优化

AStar寻路1-实现基本功能 的性能优化篇 优化方法,因为为了查看代码的profiler,因此用Unity来实现图形化,VS的c#有性能测试工具,根据热点函数来寻找瓶颈点和优化策略。 通过VS的性能测试工...

2017/07/05 15:39
82
AStar寻路1-实现基本功能

A星,Astar,寻路

2017/06/08 20:02
46
O(1)删除链表节点

把下个节点的数据 拷贝到目标节点 然后删除下一个节点就可以了 O(1) 如果目标节点是尾节点 那么删除还是 O(n) 平均情况的话还是 O(1)

2016/10/27 16:39
26
求24点,算术式解析

题目: 给定任意4个正整数,利⽤用加,减,乘,除,括号这⼏几个运算符,编程计 算所有由这4个数字计算出24的表达式,并输出计算表达式。 输出结果要求:加法,乘法需要去重,(( a + b ) * ...

2016/10/26 15:36
50
循环遍历二叉树

前序遍历 struct Node { Node*left; Node*right; int data; Node(){ func; } }; Node* create(Node*p, int depth) { if (p && depth) { p->left = new Node; p->right = new ...

2016/10/05 19:01
469
倒序打印链表

1.先反转链表,然后遍历输出 2.遍历一次链表地址加入数组,然后倒叙遍历数组输出。 3.利用stack 遍历一次吧Node加入 然后pop输出 4.利用递归 struct Node { Node*next; int data; Node...

2016/10/05 18:02
19
快速排序

/// http://developer.51cto.com/art/201403/430986.htm void quickSort(int * a, int left, int right) { int i = left, j = right,key= a[left]; if (left > right)return;//终止条件 ...

2016/10/03 13:10
12
快速幂和乘法

unsigned long long pow1(int x, int n) { unsigned long long r = 1; while (n--)r *= x; return r; } //二分快速幂 unsigned long long pow2(int x, int n) { unsigned long ...

2016/09/28 14:07
7
红黑树

5个基本性质 1.每个节点要么是红 要么是黑 2.根节点是黑 3.每个叶子节点是黑的 4.如果一个节点是红的,那么子节点都是黑的 5.对于每个节点,该节点到跟的所有路径包含有相同的黑节点 插入 新...

2016/09/21 13:51
9
四叉树

class Rect { public: int x = 0, y = 0, w = 100, h = 100; Rect(int x, int y, int w, int h) :x(x), y(y), w(w), h(h){} Rect(){}; }; class Point { public: int x = 90, y = 10; ...

2016/09/18 14:20
2
leetcode-392. Is Subsequence-DP-NORMAL

Given a string s and a string t, check if s is subsequence of t. You may assume that there is only lower case English letters in both s and t. t is potentially a very long (leng...

2016/09/17 19:41
47
leetcode-DP-   303. Range Sum Query - Immutable

Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive. Example: Given nums = [-2, 0, 3, -5, 2, -1] sumRange(0, 2) -> 1 sumRange...

2016/09/17 19:10
5
DP-最长公共子序列

套路:最长 , 最优,最大,最小,最长,计数 先写出递归式 string sa = "abcd"; string sb = "becd"; int f(int a, int b) { if (a == 0 || b == 0)return 0; //最小规模为2个字符的比较...

2016/09/17 16:58
5
DP-01背包

套路:最大值 , 最优,最大,最小,最长,计数 01背包是在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2……Wn,与之相对应的价值为P1,P2……Pn。求最大价值 先暴力递归式...

2016/09/17 15:49
3
DP-N*M棋盘走法

套路:计数问题 , 最优,最大,最小,最长,计数 N*M的棋盘上,小兵要从左下角走到右上角,只能向上或者向右走, 问有多少种走法 先的得出递归暴力解法 int f(int x, int y) { if (x <= 0...

2016/09/17 11:23
18
DP阶乘

先写出暴力递归解法 int f(int n) { if (n > 1) { return f(n - 1)*n; } else return 1; } 然后转换为DP 保存递归了的状态,自底向上根据递归式递推出下一个状态 arr[0] = 1; arr...

2016/09/17 10:54
4
DP斐波那契数列

先写出暴力算法 int ff(int n) { if (n >2) { return ff(n - 1) + ff(n - 2); } else { return 1; } } 然后根据递归,转换为DP,自底向上根据递归式递推出下一个状态 因为n<=2都是...

2016/09/17 10:42
8
leetcode-198. House Robber

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them...

2016/09/17 00:23
6

没有更多内容

加载失败,请刷新页面

返回顶部
顶部