一.堆的介绍
堆有如下特点的二叉树:
1.他是完全的二叉树。也就是说,除了树的最后一层布需要时满的,其他的每一层从左到右都是满的.(如下图的完全二叉树跟不完全二叉树)
2.它常常用一个数组在实现。(如下图显示了堆它与数组之间的关系。堆在存储器中的表示是数组;堆只是概念上的表示。注意树是完全二叉树,...
分类:
编程语言 时间:
2015-05-05 21:46:49
阅读次数:
195
分析:线段树的应用,区间修改,使用延迟标记进行延迟修改。
#include
using namespace std;
#define N 100010
class SegmentTree
{
private:
struct Node
{
int left,right; //左右子节点
int sum; //区间和
int lazy; ...
分类:
其他好文 时间:
2015-05-03 16:06:09
阅读次数:
126
题意:一开始有N只猴子,,每只都有一个力量值.,并且互不认识,后来 它们之间发生了M次斗争。 每次两次两只猴子a,b斗争是, a和 b都会从他们自己的朋友圈里拉出一个最强的朋友, 之后最强的这两只猴子打, 打完后两只猴子的力量值分别减半.。并且 两只猴子的朋友圈的所有人都互相认识(也就是以后不会再打了)。问题是对于每次斗争, 若a,b是朋友, 那么输出-1, 否则输出斗争后它们的朋友圈里最强猴子的...
分类:
其他好文 时间:
2015-05-02 18:16:04
阅读次数:
144
归并排序
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide
and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。
归 并过程为:比较a[i]和a[j]的大小,若a[i]≤a[j],则将第一个有序表中的元素a[i]复制到r...
分类:
编程语言 时间:
2015-04-30 18:21:40
阅读次数:
133
题目地址:SPOJ 375
树链剖分第一发!
果然是个貌似很高级的数据结构,其实就是把树的边从树形结构转化成了线性结构,从而可以用线段树或树状数组之类的数据结构进行快速维护。从而将时间缩到n*log(2*n).
这题用的线段树维护的。
代码如下:#include
#include
#include
#i...
分类:
其他好文 时间:
2015-04-30 01:03:53
阅读次数:
162
顺序表和单链表的优缺点对比:
顺序表的优点,无需为表示表中元素之间的逻辑关系而增加额外的存储空间;
可以快速的存取表中的任意位置的元素。
顺序表的缺点,插入后删除操作需要移动大量元素;
当线性表长度不稳定时,存储空间难确定,容易造成存储空间碎片。
对于单链表
链式存储即元素存储的内存单元可以是不连续,分散的。对于元素间如何来维护他们的关系(即逻辑...
分类:
编程语言 时间:
2015-04-28 21:04:50
阅读次数:
149
程序=算法+数据结构N.沃思(Niklaus Wirth)教授提出:
程序=算法+数据结构
以上公式说明了如下两个问题:
(1)算法决定如何构造和组织数据(算法→数据结构)。
(2)算法的选择依赖于作为基础的数据结构(数据结构→算法)。
软件=程序+文档(软件工程的观点)求解非数值计算的问题主要考虑的是设计出合适的数据结构及相应的算法。
即:首先要考虑对相关的各种信息如何表示...
分类:
其他好文 时间:
2015-04-28 18:31:54
阅读次数:
292
Writer:BYSocket(泥沙砖瓦浆木匠)
微博:BYSocket
豆瓣:BYSocket
一、前言
泥瓦匠最近被项目搞的天昏地暗。发现有些要给自己一些目标,关于技术的目标:
专注很重要。专注Java 基础 + H5(学习)
其他操作系统,算法,数据结构当成课外书博览。有时候,就是那样你越是专注方面越多对自己打击越大学啥啥都...
分类:
编程语言 时间:
2015-04-27 15:19:21
阅读次数:
266
Writer:BYSocket(泥沙砖瓦浆木匠)微博:BYSocket豆瓣:BYSocket一、前言 泥瓦匠最近被项目搞的天昏地暗。发现有些要给自己一些目标,关于技术的目标:专注很重要。专注Java 基础 + H5(学习) 其他操作系统,算法,数据结构当成课外书博览。有时候,就是那样你越是专注方面越...
分类:
编程语言 时间:
2015-04-27 15:03:43
阅读次数:
248
线性表的顺序存储是将线性表中的元素存放在一组连续的存储单元中。使得在线性表中逻辑上相邻的元素在物理存储单元上也是连续的。采用顺序存储的线性表叫做顺序表。
线性表的顺序存储结构如下:
模块化设计:
头文件 结构体和相应函数的定义,声明
#ifndef _SEQLIST_H
#define _SE...
分类:
编程语言 时间:
2015-04-22 18:14:09
阅读次数:
214