数据结构
Posted zhangenming
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构相关的知识,希望对你有一定的参考价值。
数据结构这种东西敲起来十分爽
数据结构往往替代了我们思考的过程,但还是比较好用的
虽然STL已经内置了很多数据结构,但是NOIP不开O2。。。。。
所以很慢很慢很慢。。。。。nlogn会变成n^2,。。。。所以还是自己写吧
从最基本的开始
队列(队列是一种先进先出的数据结构)
//加入操作 inline void push_up(int x){ q[++tail]=x; } //取队列最前端的元素 inline int top(){ return q[head]; } //删除队列最前面的元素并返回元素 inline void pop(){ return q[head++]; } //判断队列是否为空 inline bool empty(){ if(head<=tail) return true; else true false; }
栈(栈与队列不同,废话名字都不一样,栈是维护先进后出的一种数据结构)
//加入操作 inline void push_up(int x){ q[++top]=x; } //取栈最顶端的元素 inline int top(){ return q[top]; } //删除栈最前面的元素并返回元素 inline void pop(){ return q[--top]; }
有关树的结构
树状数组(树状数组是维护动态区间和的一个极有利的数据结构)
inline lowbit(int x){ return x&-x; } inline void insert(int x){ while(x<MAXN){ c[x]+=v; x+=lowbit(x); } } inline long long search(int x){ long long sum; while(x){ sum+=c[x]; x-=lowbit(x); } return sum; }
以上是关于数据结构的主要内容,如果未能解决你的问题,请参考以下文章
python 用于数据探索的Python代码片段(例如,在数据科学项目中)