加载中
JPS寻路算法

A*的改进算法之一 TODO

2018/12/18 13:49
92
skiplist跳跃表

插入删除log(N) TODO

2018/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
84
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
51
循环遍历二叉树

前序遍历 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
474
倒序打印链表

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
10
四叉树

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
52
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
7
DP-N*M棋盘走法

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

2016/09/17 11:23
20
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

没有更多内容

加载失败,请刷新页面

返回顶部
顶部