
数据结构
文章平均质量分 67
luckystar_sai
机会总是垂青有准备的人
展开
-
list vector set map multimap multiset 容器大揭秘
1.vector 底层数据结构为数组 ,支持快速随机访问 2.list 底层数据结构为双向链表,支持快速增删 3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问 4.stack 底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时原创 2017-07-24 09:10:28 · 315 阅读 · 0 评论 -
合并两个已经排好序的链表
struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}};class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) {原创 2017-08-18 09:32:23 · 741 阅读 · 0 评论 -
反转链表
//第一种方法是:非递归方法struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};classSolution {原创 2017-08-18 10:07:09 · 218 阅读 · 0 评论 -
栈的压入队列和弹出队列
/*struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}};class Solution {public: vector PrintFromTopToBotto原创 2017-08-21 17:28:26 · 883 阅读 · 0 评论 -
根据前序和中序创建二叉树及二叉树的前序、中序、后序、层次打印
#include#include#includeusing namespace std;struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {}};TreeNode* reConstruc原创 2017-08-23 16:59:31 · 369 阅读 · 0 评论 -
查找一个有序数组中某一数值出现的次数
#include#include#include#include#includeusing namespace std;int Gfindf(vectordata, int k){ if (data.empty())return -1; int len = data.size(); int begin = 0; int end = len - 1; //int mid =原创 2017-08-29 15:57:54 · 1595 阅读 · 0 评论 -
哈夫曼编码与哈夫曼树
哈夫曼树和哈夫曼编码哈夫曼树─即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。 在计算机信息处理中,“哈夫曼编码”是一种一致性编码法(又称“熵编码法”),用于数据的无损耗压缩。这一术语是指使用一张特殊的编码表将源字符(例如某文件中的一个符号)进行编码。这张编码表的特殊之处在于,它是根据每一个源字符出现的估算概率而建立起来的(出现概率高的字符使用较短的编码,反之出现概率低转载 2017-09-09 20:52:36 · 1046 阅读 · 0 评论 -
常见的二叉树面试题
/*****************************算法思想:使用的是栈结构步骤一:如果节点有左子树,则将该节点入栈;如果该节点没有左子树,则访问该节点步骤二:如果节点有右子树,则重复步骤一;如果没有右子树(则说明该节点文访问完毕),则根据栈顶指示回退,访问栈顶元素,并访问右子树,重复步骤一若栈为空,表示遍历完成。*******************************/#d...原创 2018-03-08 19:03:26 · 231 阅读 · 0 评论 -
两个栈实现一个队列
#include<iostream>#include<stack>using namespace std; template<typename T>class Queue{public: Queue(); ~Queue(); void Inqueue(const T& item); bool isEmpty(); T DeleteHead();priva...原创 2018-03-08 20:15:02 · 127 阅读 · 0 评论