数据结构与算法
闲云阁
闲云野鹤 -> 算法仿如酒心糖,嚼着嚼着就醉了
展开
-
散列 - 跳表实现字典
skiplist.h/******************************************************************** purpose: 跳表 author: xianyun1230 QQ: 836663997 e-mail: [email protected] creat原创 2014-09-12 20:09:51 · 566 阅读 · 0 评论 -
八大排序算法源码 + 耗时长度比较
八大排序算法的排序时间长度的比较,测试数据10000000时部分结果如下输入测试数据长度: 10000000数据初始化中...数据初始化完成! 堆排序用时: 8秒 499毫秒 快速排序用时: 22秒 35毫秒 归并排序用时: 34秒 473毫秒另外五种排序本人并未等待结果,读者可自行测试原创 2014-04-10 16:48:09 · 1709 阅读 · 0 评论 -
逆波兰式与表达式求解
/***************逆波兰式即后缀表示法 预处理 ———— 中序表达式->逆序表达式(infix to postfix) 算法: while(表达式非空) if (遇到操作数) 直接输出 else if (遇到操作符op) op是( 直接入栈s op是) s.push输出,直到( op是四则运算,则 if (s为空 ||原创 2014-09-13 20:38:17 · 1369 阅读 · 1 评论 -
伸展树的实现
#include template class Splay_Tree{public: Splay_Tree(); bool find(const T& val); void insert(const T& val); void del(const T& val);private: typedef struct tagNODE { T data; struct tag原创 2014-09-17 13:21:08 · 792 阅读 · 0 评论 -
AVL树的实现
//avl_tree.h#include using std::stack;template class AVL_TREE{public: AVL_TREE(){ nil = new AVL_NODE(0, -1, NULL, NULL); tree_root = nil; } bool find(const T &val) const; void insert(co原创 2014-09-16 23:07:28 · 853 阅读 · 0 评论 -
LZW 文本压缩及解压
LZW就是通过建立一个字符串表,用较短的代码来表示较长的字符串来实现压缩。压缩算法如下#include #include std::ifstream fin;std::ofstream fout;using namespace std;const int D = 4096, alpha = 256, ByteSize = 8, HalfByte = 4, Al原创 2014-09-15 12:10:39 · 2896 阅读 · 0 评论 -
二叉树 - 二叉排序树
binarytree.h/******************************************************************** purpose: 二叉排序树 author: xianyun1230 QQ: 836663997 e-mail: [email protected]原创 2014-09-13 20:30:42 · 772 阅读 · 0 评论 -
散列 - 链表散列实现字典
hashlist.h/******************************************************************** purpose: 链表散列 author: xianyun1230 QQ: 836663997 e-mail: [email protected] cre原创 2014-09-12 20:07:33 · 708 阅读 · 0 评论 -
线性表 - 模拟指针实现线性表
List.h/******************************************************************** purpose: 模拟指针实现线性表 author: xianyun1230 QQ: 836663997 e-mail: [email protected] created: 2014/02/17**原创 2014-09-12 20:02:19 · 982 阅读 · 0 评论 -
线性表 - 间接寻址实现线性表
List.h/******************************************************************** purpose: 间接寻址实现线性表 author: xianyun1230 QQ: 836663997 e-mail: [email protected] created: 2014/02/17*************原创 2014-09-12 20:00:37 · 1039 阅读 · 0 评论 -
线性表 - 公式化描述实现线性表
List.h/******************************************************************** purpose: 公式化描述实现线性表 author: xianyun1230 QQ: 836663997 e-mail: [email protected] created: 2014/02/16 ***********原创 2014-09-12 19:55:55 · 1083 阅读 · 0 评论 -
二叉树 - 最大左高树
MaxHBLT.h#include template inline void Swap(T& a, T& b){ T c = a; a = b; b = c;}template class MaxHBLT;template class TNode{ friend MaxHBLT;public: TNode(const T& val) { data =原创 2014-09-13 20:36:19 · 1452 阅读 · 0 评论 -
线性表 - 带头结点的循环单链表
List.h/******************************************************************** purpose: 带头结点的循环单链表 author: xianyun1230 QQ: 836663997 e-mail: [email protected] c原创 2014-09-12 19:54:43 · 1709 阅读 · 0 评论 -
二叉树 - 最大堆
maxheap.h#include template class MaxHeap{public: MaxHeap(int num); MaxHeap(T Arr[], int arrsize, int totalsize); bool insert(const T&); bool del(T&); void show() const; void showonlevel()原创 2014-09-13 20:32:30 · 1347 阅读 · 1 评论 -
二叉树 - 红黑树
RBTree.h#include template class RBTree{public: RBTree(); bool insert(const T&); bool del(const T&); void show() { Mid_Order(root); } private: enum { RED, BLACK }; typedef struct原创 2014-09-13 20:30:27 · 906 阅读 · 0 评论 -
线性表 - 双链表
List.h/******************************************************************** purpose: 带头结点的双链表 author: xianyun1230 QQ: 836663997 e-mail: [email protected] cre原创 2014-09-12 20:04:21 · 775 阅读 · 0 评论 -
散列 - 线性开型寻址散列
hashtable.h/******************************************************************** purpose: 线性开型寻址散列 author: xianyun1230 QQ: 836663997 e-mail: [email protected]原创 2014-09-12 20:11:41 · 1304 阅读 · 0 评论 -
最长回文子串 - Manacher算法
算法思想:设有字符串s[] = "121"第一步:通过在每个字符左右都添加一个特殊字符,把奇数长度和偶数长度的字符串都转化成奇数(例如. "121" 加上特殊字符后变成"#1#2#1" ),同时也可在开头再加一个特殊字符,以便于忽略越界问题(如上例"121"变成"$#1#2#1#" 此时开头的特殊字符$和字符串末尾的\0与此串中其他字符都不同,即可忽略越界问题),此时字符串变成s[]原创 2015-07-06 00:51:33 · 1166 阅读 · 0 评论