一、 快速排序与归并排序的比较 快速排序的最快的时间复杂度为O(n),最差情况下的时间复杂度为O(n^2),平均的时间复杂度为O(nlgn); 归并排序的时间复杂度在任何情况下都是O(nlgn); 快速排序的时间复杂度计…
标签:数据结构
BZOJ-3526: [Poi2014]Card(线段树)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3526 假如不带修改,可以直接扫一遍解决,但是这个不好动态维护,我们发现分治同样可以解决这个问题,相当维护一下左边两…
A*算法
挂在码云上的:Golang实现示例 A-Star算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是许多其他问题的常用启发式算法。注意——是最有效的直接搜索算法。 现成的讲解在这里
剑指Offer面试题汇总
剑指Offer简介 《剑指Offer:名企面试官精讲典型编程题》剖析了50个典型的程序员面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点。全书分为7章,主要包括面试的流程,讨…
BZOJ-1563: [NOI2009]诗人小G(单调性DP)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1563 打了个表发现决策具有单调性,然后就二分+队列维护即可,O(n log n)。 代码: #include &l…
探索NIO之selector的底层实现
NIO — Not Block IO。在java中大体有三种角色。 Channel Buffer Selector Channel故名思义就是一个渠道,一条链接,实际物理意义映射着我们平时说的tcp链接。 在…
BZOJ-1492: [NOI2007]货币兑换Cash(动态规划+动态维护凸壳)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1492 很经典的一道把决策看成点,然后动态维护凸壳的DP题目,可以用平衡树维护,据说还可以用神奇的CDQ分治水过去(…
数据结构与算法之栈的链式存储表示
//栈的链式存储表示(在栈中,top指向栈顶元素) #include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef st…
线段树 Segtree
原题 https://www.luogu.org/problemnew/show/P3373 (手写线段树 wKw) 题目描述 如题,已知一个数列,你需要进行下面三种操作: 1.将某区间每一个数乘上x 2.将某区间每一个…
算法 & 数据结构——时间轮定时器
时间轮定时器 优点:可保证每次执行定时器任务都是O(1)复杂度,在定时器任务密集的情况下,性能优势非常明显。 缺点:内存占用较大,当定时器使用不频繁,处理时间跨度很大的时候,效率低下。 C++实现: // timer.h…
BZOJ-1562: [NOI2009]变换序列(网络流)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1562 大概没有人想我这么无聊一直用最大流来写二分图匹配的题目了额。。。:首先这明显是二分图匹配,那么就直接求一次最…
数据结构(C++)第一周笔记
2.28 第一周 /* 1.计算机基础知识回顾: 1)什么是计算机 2)计算机的基本工作原理 3)为什么计算机能自动运行 4)为什么要学习计算机程序设计语言 &nb…