![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
数据结构
成长的小牛233
一个很菜,仍然热爱技术热爱生活的程序猿
展开
-
hdu3577(线段树+lazy+样例解释+代码解析)
DescriptionChinese always have the railway tickets problem because of its' huge amount of passangers and stations. Now goverment need you to develop a new tickets query system. One train can jus原创 2016-10-10 21:13:22 · 2469 阅读 · 0 评论 -
优先队列
转载自:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.htmlhttp://www.cnblogs.com/heqinghui/archive/2013/07/30/3225407.htmlhttp://blog.csdn.net/sun_168/article/details/7680911转载 2016-11-20 10:08:04 · 273 阅读 · 0 评论 -
C++ Queues(队列)
C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。 back()返回最后一个元素empty()如果队列空则返回真front()返回第一个元素pop()删除第一个元素push()在末尾加入一个元素size()返回队列中元素的个数原创 2016-04-16 16:05:33 · 326 阅读 · 0 评论 -
C++ Lists(链表)
Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.assign()给list赋值back()返回最后一个元素begin()返回指向第一个元素的迭代器clear()删除所有元素empty()如果list是空的则返回trueend()原创 2016-04-16 16:03:48 · 441 阅读 · 0 评论 -
DFS与BFS
写在最前的三点:1、所谓图的遍历就是按照某种次序访问图的每一顶点一次仅且一次。2、实现bfs和dfs都需要解决的一个问题就是如何存储图。一般有两种方法:邻接矩阵和邻接表。这里为简单起见,均采用邻接矩阵存储,说白了也就是二维数组。3、本文章的小测试部分的测试实例是下图:一、深度优先搜索遍历1、从顶点v出发深度遍历图G的算法① 访问v② 依次从顶点v未被访问的邻接点出发深度遍历。2、一点心得:dfs算...转载 2016-04-12 21:02:19 · 20975 阅读 · 1 评论 -
c++堆栈中 top() pop()的具体作用是什么
top()是取栈顶元素pop()是弹出栈顶元素stack a;a.push(1); // 1a.push(2); // 1 2a.push(3); // 1 2 3int c = a.top(); // c = 3a.pop(); // 1 2a.push(4); // 1 2 4c = a.top(); // c = 4转载 2016-04-12 20:17:04 · 10935 阅读 · 0 评论 -
HDU1181:变形课(DFS)
Description呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体. Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一原创 2016-04-12 19:56:31 · 405 阅读 · 1 评论 -
队列c++代码
#include "iostream"#include "algorithm"#include "queue"using namespace std; void Init(queue int> q){while(!q.empty()){q.pop();}} int main(){queue int> q;int n,qu;whil原创 2016-04-10 14:55:25 · 665 阅读 · 0 评论 -
LCS最长公共子序列java实现代码保存
package com.tjrac_java_2;import java.util.Scanner;public class Lcs { public static void main(String[] args) { String x,y; int[][] sum= new int [505][505]; int i,j,len...原创 2018-03-29 19:11:09 · 250 阅读 · 0 评论 -
单链表头插法与尾插法的c语言实现(回顾)
#include<stdio.h>#include<math.h>#include<stdlib.h>typedef struct node{ int data; node *next;};int main(){ node *head = NULL; node *tail = NULL; node *p = N...原创 2018-07-03 12:09:11 · 993 阅读 · 0 评论 -
java字典树(Trie)实现中文模糊匹配
原理解释:java实现:https://blog.csdn.net/yuhk231/article/details/51539840c实现:https://blog.csdn.net/qq_31175231/article/details/77827324代码模板:缺点,只能检索出在一个分支中的前缀匹配内容package com.xq.algorithm;import java.io.B...原创 2018-12-16 03:15:50 · 3594 阅读 · 0 评论 -
前缀树和后缀树
Trie树的应用:除了本文引言处所述的问题能应用Trie树解决之外,Trie树还能解决下述问题(节选自此文:海量数据处理面试题集锦与Bit-map详解):3、有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M。返回频数最高的100个词。9、1000万字符串,其中有些是重复的,需要把重复的全部去掉,保留没有重复的字符串。请怎么设计和实现?10、 ...原创 2019-02-28 15:43:24 · 2348 阅读 · 0 评论 -
SDUT 双向队列(队列)
#include#include#include#includeusing namespace std;int main(){ int a[30000],n,m=11000,data; int l=0,r=m,i=0; cin>>n; string str; for(int j=1;j<=n;j++) { cin>>s原创 2016-11-20 11:22:47 · 379 阅读 · 0 评论 -
sdut 双向队列(STL)
dequeq;//定义一个双向队列q,类型为long long q.push_front(a);//将a从队首插入队列 q.push_back(a);//将a从队尾插入队列 q.pop_front();//队首弹掉一个元素 q.pop_back();//队尾弹出一个元素 a=q.front();//返回队首元素 a=q.back();//原创 2016-11-20 17:15:11 · 469 阅读 · 0 评论 -
最大最小距离算法(K-MEANS K-medoids )聚类算法的结合运用
聚类算法通常会得到一种分类,将n个点聚合成k类,同一聚类(即插槽簇)中的对象相似度较高;而不同类中的对象相似度较小。聚类算法的基本流程如下:(1)从n个节点中选择 k 个节点作为初始聚类中心。(2)将剩余节点根据它们与这k个聚类中心的代价大小,分别将它们分配给与其代价最小的(聚类中心所代表的)聚类。(3)更新聚类的聚类中心。不断重复(2)(3)这一过程将剩下其它节点分配完毕。(4)排序,将转载 2016-10-11 18:01:42 · 6868 阅读 · 0 评论 -
拓扑排序 详解 + 并查集 详解 + 最小生成树详解
若您发现本文有什么错误,请联系我,我会及时改正的,谢谢您的合作!本文为原创文章,转载请注明出处 本文链接 : http://www.cnblogs.com/Yan-C/p/3943940.html 。哎呀,好久了啊,想写这篇博文好久了,但是因为懒的原因 一直迟迟没动手啊。今天,终于在长久的懒惰下,突然来了那么一点热度。把这篇博文写一下。本文分为以下几个部转载 2017-01-02 09:50:23 · 664 阅读 · 0 评论 -
邻接表的构建、DFS、BFS搜索
接着上次的文章“图的构建(邻接链表法)”,邻接链表法构建图相对来说比较简单,并且遍历起来也相对简单,但是要是动态添加图的节点和图的边,则是实在不方便,不过现在不管那么多,今天的主题是遍历。 - 有另外一种图的构建方法,叫做十字链表法,插入删除比较方便,但是相对来说比较复杂,改天闲着木事的再搞。(其实主要原因是因为三四年前写的代码,现在翻出来了,现成的,尼玛现在让我从头写那么复杂的数据结构,死的转载 2016-12-29 18:14:01 · 585 阅读 · 0 评论 -
顺序表应用1:多余元素删除之移位算法
顺序表应用1:多余元素删除之移位算法Time Limit: 1000MS Memory Limit: 650KBSubmit Statistic DiscussProblem Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同原创 2016-11-11 12:31:52 · 364 阅读 · 0 评论 -
算术表达式的前缀式、中缀式、后缀式相互转换
中缀表达式(中缀记法)中缀表达式是一种通用的算术或逻辑公式表示方法,操作符以中缀形式处于操作数的中间。中缀表达式是人们常用的算术表示方法。虽然人的大脑很容易理解与分析中缀表达式,但对计算机来说中缀表达式却是很复杂的,因此计算表达式的值时,通常需要先将中缀表达式转换为前缀或后缀表达式,然后再进行求值。对计算机来说,计算前缀或后缀表达式的值非常简单。前缀表达式(前缀记法、波兰式)前转载 2016-11-28 21:01:06 · 26133 阅读 · 0 评论 -
最简逆波兰模板
#include #include using namespace std; double exp() { char a[10]; scanf("%s",a);//注意scanf取入字符串遇到‘\0’停止 switch(a[0]){ case '+':return exp()+exp(); case '-':return exp(原创 2016-11-28 20:56:11 · 317 阅读 · 0 评论 -
数据结构实验之栈六:下一较大值(二)
#include #include using namespace std;struct node{ int data; int next;//记录下一个元素死亡值 int pos;//用来记录每个元素的位置*/} a[100001],val[100000];int main(){ int t; while(~scanf("%d",&t))原创 2016-11-22 13:08:41 · 550 阅读 · 0 评论 -
链式栈
#include#includeusing namespace std;struct node{ int data; node *next;};struct stack{ node *top; node *bottom;};void initstack(stack *&s){ s->top=s->bottom=NULL; s->top原创 2016-11-19 19:45:25 · 244 阅读 · 0 评论 -
C++ Stacks(堆栈)
C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。操作比较和分配堆栈empty()堆栈为空则返回真pop()移除栈顶元素push()在栈顶增加元素size()返回栈中元素数目top()返回栈顶元素原创 2016-04-16 15:44:07 · 413 阅读 · 0 评论 -
栈c++代码实现
//实在不想写数组法了,写个常用的STL的吧#include "iostream"#include "algorithm"#include "stack"using namespace std; void Init(stack int> s){while(!s.empty()){s.pop();}} int main(){stack原创 2016-04-10 14:56:07 · 691 阅读 · 0 评论 -
优先队列c++ STL用法
优先队列(priority queue)普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。优先队列是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序每次的原创 2016-12-04 02:23:17 · 534 阅读 · 0 评论 -
【转载保存】B+树索引原理以及应用案例
地址:https://www.jianshu.com/p/486a514b0ded利用c/c++实现基于b+树小型关系型数据库:https://github.com/enpeizhao/duck_db利用java实现的基于b+树的数据库案例:https://github.com/liumengjun/BPlusTreeIndex1.什么是索引?索引:加速查询的数据结构。2.索引...转载 2019-05-14 15:22:23 · 387 阅读 · 0 评论