
数据结构与算法
游戏猫
多年游戏开发经验,在这里分享经验和心得
展开
-
排序算法比较和实现源码
一、排序算法常见的内部排序算法有:选择排序、插入排序、冒泡排序、计数排序、归并排序、快速排序、堆排序、基数排序、希尔排序等。文本不介绍堆排序、基数排序、希尔排序。二、算法性能比较排序算法平均时间复杂度最小时间复杂度最大时间复杂度适用场景选择排序O(N^2)O(N^2)O(N^2无脑排序,性能差插入排序O(N^2)O(N)O(N^2)某几个位置...原创 2019-11-01 01:10:37 · 184 阅读 · 0 评论 -
实时排序算法(跳表)
说明:采用和Redis排序算法类似的跳表,支持大量数据的实时排序。public class SkipListLevelInfo where T : class{ public SkipListNode Next; public uint Span;}public class SkipListNode where T : class{ public T Item原创 2018-01-12 19:15:59 · 2605 阅读 · 0 评论 -
四叉树C#源码
public class QuadTreeNode { public const int LT = 0; public const int RT = 1; public const int LB = 2; public const int RB = 3; public List dataList;原创 2018-01-12 19:10:08 · 2642 阅读 · 1 评论 -
并查集C++源码
一、UniteFind.h源码#pragma once#include "stdafx.h"class UniteFind{private : int* nodeRoot; int* treeHeight; int nodeNum; int findRoot(int node) { while (nodeRoot[node] != no原创 2017-02-09 19:28:16 · 333 阅读 · 0 评论 -
A*寻路算法源码
A*寻路算法源码Astar.h源码#pragma once#include "stdafx.h"#include "MinHeap.h" //最小堆源码地址http://blog.youkuaiyun.com/heyaolongsanhao/article/details/53437325class AstarNodeRun;class Astar;class AstarRunData;class原创 2016-12-23 14:18:34 · 631 阅读 · 0 评论 -
最小堆MinHeap源码
最小堆MinHeap源码MinHeap.h源码#pragma once#include "stdafx.h"#include <vector>using namespace std;class MinHeapNode{private: int _nodeIndex; float _nodeValue;public: MinHeapNode(float node原创 2016-12-23 14:15:45 · 923 阅读 · 0 评论 -
最大堆MaxHeap源码
最大堆MaxHeap源码MaxHeap.h源码#pragma once#include "stdafx.h"#include <vector>using namespace std;class MaxHeapNode{private: int _nodeIndex; float _nodeValue;public: MaxHeapNode(float node原创 2016-12-23 14:14:44 · 602 阅读 · 0 评论 -
QuickSort快速排序源码
QuickSort快速排序源码QuickSort.h源码#include "stdafx.h"template<typename T> class QuickSort{private: static bool Compare(T a, T b, bool useDesc) { return useDesc?(a >= b) : (a <= b); }原创 2016-12-23 14:12:37 · 439 阅读 · 0 评论 -
二叉排序树(AVL树)源码
二叉排序树(AVL树)源码AVLTree.h源码#pragma once#include "stdafx.h"#include <vector>using namespace std;class AVLNode{public: float nodeValue; int treeHeight; AVLNode* lChild; AVLNode* rChild原创 2016-12-23 14:11:16 · 415 阅读 · 0 评论 -
四叉树QuadTree源码
四叉树QuadTree源码QuadTree.h源码#include "stdafx.h"#include <list>using namespace std;struct QuadAABB{public: int left; int top; int width; int height; int right; int bottom;原创 2016-12-23 14:10:17 · 3982 阅读 · 0 评论 -
线段树源码
线段树源码SegmentTree.h源码#pragma once#include "stdafx.h"class SegmentTreeNode{public: int min; int max; double coverWeight; double containWeight; //部分覆盖+全部覆盖 SegmentTreeNode* left;原创 2016-12-23 14:08:39 · 498 阅读 · 0 评论 -
最短路径Dijkstra算法源码
Dijkstra算法源码Dijkstra.h文件源码#pragma once#include "stdafx.h"#include <vector>using namespace std;//arcs中arcs[i][j] < 0,表示不可达class Dijkstra{private: int _num; float** _arcs; float* _dis;原创 2016-12-23 14:05:55 · 701 阅读 · 0 评论