数据结构总结(UPDATING......)

目标:

1.栈........√

2.队列......√

3.堆.........×

4.并查集...×

栈:

 1 #define MAXN 65536
 2 struct stack{
 3     int sz[MAXN],now;
 4     stack()
 5     {
 6         now=0;
 7     }
 8     ~stack()
 9     {
10         delete []sz;
11     }
12     void push(int x)
13     {
14         if(!full())
15         sz[++now]=x;
16     }
17     int pop()
18     {
19         if(!empty())
20         return sz[now--];
21     }
22     bool empty()
23     {
24         return now==0;
25     }
26     bool full()
27     {
28         return now==MAXN-1;
29     }
30     int top()
31     {
32         return sz[now];
33     }
34 };

队列:

#define MAXN 10000
struct queue{
    int sz[MAXN];
    int head,tail;
    queue()
    {
        head=0;
        tail=0;
    }
    ~queue()
    {
        head=0;
        tail=0;
        delete []sz;
    }
    int front()
    {
        if(!empty())
        return sz[head];
    }
    bool empty()
    {
        return (head>=0&&tail>=0&&head==tail||head>tail);
    }
    bool full()
    {
        return tail>=MAXN;
    }
    int push(int x)
    {
        if(!full())
        sz[tail++]=x;
    }
    void pop()
    {
        if(!empty())
            ++head;
    }
}

队列

时间: 2025-01-02 18:24:12

数据结构总结(UPDATING......)的相关文章

(Updating)【区间操作数据结构例题】

Description 你需要写一种数据结构,来维护一个集合 A(元素可重复),其中需要支持如下操作: Insert(A,x):向集合 A 中插入一个整数 x. Delete(A,x):删除集合 A 中值为整数 x 的元素,若有多个相同的数,只删除一个,若 x 不存则忽略. Max(A):查询集合中最大的元素,若不存在则忽略. Min(A):查询集合中最小的元素,若不存在则忽略. Find(A,x):查询整数 x 的元素是否存在,若存在输出Y,否则输出N. Pred(A,x):查询求 x 的前驱

Redis数据结构之HperLogLog

一.HyperLogLog HyperLogLog是用来做基数统计的. 其可以非常省内存的去统计各种计数,比如注册ip数.每日访问IP数.页面实时UV(PV肯定字符串就搞定了).在线用户数等在对准确性不是很重要的应用场景. HyperLogLog的优点是: 在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的.并且是很小的, HyperLogLog的缺点: 它是估计基数的算法,所以会有一定误差0.81%. 每个HyperLogLog键只需要花费12KB内存,就可以计算接近264个不

Python高级数据结构-Collections模块

在Python数据类型方法精心整理,不必死记硬背,看看源码一切都有了之中,认识了python基本的数据类型和数据结构,现在认识一个高级的:Collections 这个模块对上面的数据结构做了封装,增加了一些很酷的数据结构,比如: a)Counter: 计数器,用于统计元素的数量 b)OrderDict:有序字典 c)defaultdict:值带有默认类型的字典 d)namedtuple:可命名元组,通过名字来访问元组元素 e)deque :双向队列,队列头尾都可以放,也都可以取(与单向队列对比,

【数据结构】之散列链表(Java语言描述)

散列链表,在JDK中的API实现是 HashMap 类. 为什么HashMap被称为"散列链表"?这与HashMap的内部存储结构有关.下面将根据源码进行分析. 首先要说的是,HashMap中维护着的是一个数组: transient Node<K,V>[] table; ,数组中的每个元素都是一个 Node 对象.这里的Node是HashMap的一个内部类,代码如下: static class Node<K,V> implements Map.Entry<

旧题新做:从idy的视角看数据结构

“今天你不写总结……!!!” 额…… 还是讲我的吧.这些考试都是idy出的题. 20170121:DFS序. ST表.线段树练习 这是第一次考数据结构. Problem 1. setsum 1 second 给你一个长度为N 的整数序列,支持两种操作: • modity l r val 将区间[l,r] 中的所有数修改为val • query l r 询问区间[l,r] 所有数的和 分析:最简单的线段树,区间更改区间求和.但注意是更改,不是添改,sum与flag需同时覆盖. Problem 2.

数据结构Set和Map

一.数据结构 Set 集合的基本概念:集合是由一组无序且唯一(即不能重复)的项组成的.这个数据结构使用了与有限集合相同的数学概念,应用在计算机的数据结构中.  特点:key 和 value 相同,没有重复的 value.ES6 提供了数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. 1. 如何创建一个 Set const s = new Set([1, 2, 3]); 2.属性 console.log(s.size); // 3 3.Set 类的方法 --set.add(v

数据结构基本概念

什么是数据结构 "数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系.这些联系可以通过定义相关的函数来给出"--Sartaj Sahni,<数据结构.算法与应用> "数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现."--Clifford A.Shaffer,<数据结构与算法分析> "数据结构(data structture)是计算机中存储.组织数据的方式.通常情况下,经i想你

分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令

Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sorted Set. Redis数据类型内存结构分析 Redis内部使用一个redisObject对象来表示所有的key和value.redisObject主要的信息包括数据类型(type).编码方式(encoding).数据指针(ptr).虚拟内存(vm)等.type代表一个value对象具体是何种数

【Python&amp;数据结构】 抽象数据类型 Python类机制和异常

这篇是<数据结构与算法Python语言描述>的笔记,但是大头在Python类机制和面向对象编程的说明上面.我也不知道该放什么分类了..总之之前也没怎么认真接触过基于类而不是独立函数的Python编程,借着本次机会仔细学习一下. 抽象数据类型 最开始的计算机语言,关注的都是如何更加有效率地计算,可以说其目的是计算层面的抽象.然而随着这个行业的不断发展,计算机不仅仅用于计算,开发也不仅只关注计算过程了,数据层面的抽象也变得同样重要.虽然计算机语言一开始就有对数据的抽象,但是那些都只是对一些最基本的