
数据结构
数据结构
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
杨鑫newlfe
算法就是我的灵魂
展开
-
LeetCode --- 1523. Count Odd Numbers in an Interval Range 解题报告
Given two non-negative integers and . Return the count of odd numbers between and (inclusive). Example 1:Input: low = 3, high = 7Output: 3Explanation: The odd numbers between 3 and 7 are [3,5,7].Example 2:Input: low = 8, high = 10Output: 1Explan原创 2022-12-04 23:51:15 · 288 阅读 · 0 评论 -
Scala实现单链表的反转
class ListNode(value:Int) { val node_v = value // 设置每个节点存储的值 var next:ListNode = null // 设置每个节点的指针}def reverse(l1:ListNode):ListNode = { // 参数l1:...原创 2020-03-25 14:28:35 · 711 阅读 · 0 评论 -
选首领------循环链表实现
此题是在软考的书上看到的,想起以前推到过一个共识原创 2014-05-22 07:05:03 · 2172 阅读 · 1 评论 -
树状数组学习 ----- 数据结构
所谓树状数组就(BIT,BinaryIndexedTree)是一主要用于查询任意两位之间的所有元素之和。但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值。这种数据结构(算法)并没有C++和Java的库支持,需要自己手动实现。在Competitive Programming的竞赛中被广泛的使用。树状数组和线段树很像,原创 2014-07-17 15:15:15 · 1154 阅读 · 0 评论 -
树状数组的解题思路
•树状数组•一类树状的解决区间统计问题的数据结构。•一个简单的例子:现有一个长度为n的数组,数组内存有数据。对于这些数据,有2类操作: 1、修改数据第i个元素。 2、查询数据一个区间(如p至q)内元素的和。原创 2014-07-17 15:21:51 · 1011 阅读 · 0 评论 -
Help with Intervals 线段树并查集
Time Limit: 6000MS Memory Limit: 131072KTotal Submissions: 9784 Accepted: 2320Case Time Limit: 2000MSDescriptionLogLoader, Inc. is a company specialized in providin原创 2014-06-27 07:50:10 · 1172 阅读 · 0 评论 -
敌兵布阵 --- 树状数组
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 40459 Accepted Submission(s): 17094Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国原创 2014-07-17 15:30:04 · 1702 阅读 · 0 评论 -
线段树算法 ---- 扫描线之面积并
一、扫描线算法基本思想 按扫描线顺序,计算扫描线与多边形的相交区间,再用要求的颜色显示这些区间的象素,即完成填充工作。对于一条扫描线填充过程可以分为四个步骤: (1) 求交:计算扫描线与多边形各边的交点 (2) 排序:把所有交点按 x 坐标递增顺序来排序 (3) 配对:确定扫描线与多边形的相交区间,第一个与第二个,第三个与第四个等等,每对交点代原创 2014-07-01 10:30:40 · 1676 阅读 · 0 评论 -
Atlantis 线段树扫描线--面积并
AtlantisTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 16755 Accepted: 6391DescriptionThere are several ancient Greek texts that contain descriptions o原创 2014-07-01 11:57:27 · 917 阅读 · 0 评论 -
A Bug's Life --- 种类并查集
Time Limit: 10000MS Memory Limit: 65536KTotal Submissions: 27710 Accepted: 9010DescriptionBackground Professor Hopper is researching the sexual behavior of a rare species原创 2014-07-20 10:46:43 · 954 阅读 · 1 评论 -
Hotel ----线段树并查集,区间合并
HotelTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 11223 Accepted: 4855DescriptionThe cows are journeying north to Thunder Bay in Canada to gain cultu原创 2014-06-29 15:15:38 · 1175 阅读 · 0 评论 -
LCIS --线段树区间合并
所谓线段树区间合并就是在查询的时候对xianduanshude原创 2014-07-02 10:22:59 · 965 阅读 · 0 评论 -
并查集poj题目
并查集大体分为三个:普通的并查集,带种类的并查集,扩展的并查集(主要是必须指定合并时的父子关系,或者统计一些数据,比如此集合内的元素数目。)POJ-1182经典的种类并查集POJ-1308用并查集来判断一棵树。。注意空树也是树,死人也是人。POJ-1611裸地水并查集POJ-1703种类并查集POJ-1988看转载 2014-07-11 14:54:01 · 935 阅读 · 0 评论 -
Find them, Catch them ------ 种类并查集
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 30261 Accepted: 9330DescriptionThe police office in Tadu City decides to say ends to the chaos, as launch actions原创 2014-07-11 16:24:36 · 887 阅读 · 0 评论 -
并查集学习---系统整理(二)
查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。 (百度百科)大体分为三个:普通的并查集,带种类的并查集,扩展的并查集(主要是必须指定合并时的父子关系,或者统计一些数据,比如此集合内的元素数目。)原创 2014-07-13 09:37:50 · 995 阅读 · 0 评论 -
并查集算法进阶学习
继续数据结构的复习,本次的专题是:并查集。 并查集,顾名思义,干的就是“并”和“查”两件事。很多与集合相关的操作都可以用并查集高效的解决。 两个操作代码: int Find(int x) { if (tree[x].parent != x) { tree[转载 2014-07-11 14:54:13 · 1291 阅读 · 0 评论 -
二分排序算法
#include using namespace std;int a[11];int BinSearch(int s[], int size, int key){int low=0, high = size - 1, mid;while(low {mid=(low + high)/2;if(s[mid] == key)return mid;if(s[mi原创 2014-07-12 08:58:09 · 1032 阅读 · 0 评论 -
Mayor's posters --- 线段树成段更新,离散化
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 39339 Accepted: 11422DescriptionThe citizens of Bytetown, AB, could not stand that the candidates in the mayoral e原创 2014-06-20 21:56:31 · 1000 阅读 · 0 评论 -
2639 约会计划 --- 并查集
题目描述 Descriptioncc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错。然而,最关键的是,cc能够很好的调解各各妹妹间的关系。mm之间的关系及其复杂,cc必须严格掌握她们之间的朋友关系,好一起约她们出去,cc要是和不是朋友的两个mm出去玩,后果不堪设想……cc只掌握着一些mm之间的关系,但是cc比较聪明,他知道a和b是原创 2014-07-11 11:42:04 · 1005 阅读 · 0 评论 -
字典树学习
字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。原创 2014-09-04 20:32:13 · 764 阅读 · 0 评论 -
KMP算法模板
//=======KMP==============//int KMP(char *t, int pos){int i, j;i = pos;j = 0;while(s[i]!=0 && j{if(j == -1 || t[j] == s[i]){i++;j++:}elsej = next[j];}if(j == length)r原创 2014-08-08 21:21:23 · 822 阅读 · 0 评论 -
C++ STL 迭代器算法模板
#include #include using namespace std;int main(){ vector v; //一个存放int元素的数组v,一开始里面为空 v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); vector::const_iterator i原创 2014-08-10 14:50:30 · 856 阅读 · 0 评论 -
C++ STL Find算法模板
#include #include #include using namespace std;int main(){ int array[10] = {10, 20, 30, 40}; vector v; v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); ve原创 2014-08-10 14:49:35 · 956 阅读 · 0 评论 -
选择排序算法C语言实现
#include void sel_sort(int *x, int n){ int k, i, m, t; for(k = 0; k { m = k; for(i = k + 1; i { if(x[i] m = i; } t = x[k]; x[k] = x[m];原创 2014-08-10 14:57:14 · 973 阅读 · 0 评论 -
树或者二叉树的度怎么算??
树的度就是树的分支:子树就是二叉树的分支。度就是分支的数目。没有分叉的二叉树节点的度就是0度。如果一个节点只有一个分叉就是1度。两个分叉就是2度的子树。原创 2014-09-19 20:59:00 · 6879 阅读 · 0 评论 -
算法中的离散化
•离散化–对于出现的数字,在大小关系不变的情况下做个映射•一个例子–原数组ax [-1,120,13,45,12,12]–映射完ax [1,5,3,4,2,2]–目标和映射一一对应mp [-1,12,13,45,120]•我们的目标是–给定原数组ax–求目标的ax和mp–方法:下标排序原创 2014-09-10 22:41:33 · 1072 阅读 · 0 评论 -
Hash学习(一) ---- ACM
自己最近在搞数据结构对于字符串这种shenq原创 2014-08-29 21:06:01 · 2479 阅读 · 1 评论 -
Hash学习(二) ---- ACM
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELF原创 2014-08-29 20:01:26 · 1222 阅读 · 0 评论 -
线段树查询操作思路代码
void query(int id, ){}原创 2014-09-02 09:49:22 · 748 阅读 · 0 评论 -
线段树建树思路代码
//建树,这里的结构体是struct Tree{ int left,right; //区间的端点 int max,sum; //视题目要求而定};//建树阶段void build(int id, int l, int r){tree[id].left = l;tree[id].right = r;if(l == r){原创 2014-09-02 08:52:16 · 1278 阅读 · 0 评论 -
线段树单点更新思路代码
struct Tree{int left, right;int max, sum;};void update(int id, int pos, int val){if(tree[id].left == tree[id].right){tree[id].sum = tree[id].max = val;}else{int mid = (tr原创 2014-09-02 09:39:23 · 784 阅读 · 0 评论 -
平衡二叉树
对于二叉查找树,尽管查找、插入及删除操作的平均运行时间为O(logn),但是它们的最差运行时间都是O(n),原因在于对树的形状没有限制。平衡二叉树又称为AVL树,它或者是一棵空树,或者是有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左右子树的深度之差的绝对值不超过1。二叉树的的平衡因子BF为:该结点的左子树的深度减去它的右子树的深度,则平衡二叉树的所有结点的平衡因子为只可能是:-转载 2014-09-26 08:47:34 · 920 阅读 · 0 评论 -
java 中的 Enumeration
Enumeration接口原创 2014-10-21 20:06:43 · 972 阅读 · 0 评论 -
位运算的威力
前几天看的慕课上的视频,找到了一个非常不错的blog转载过来了。转载 2014-10-06 23:43:56 · 900 阅读 · 0 评论 -
线段树基础入门学习(适合在notnoly success以前看)
线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数原创 2014-10-22 16:34:07 · 810 阅读 · 0 评论 -
HDU 1251 统计难题(trie树入门)
Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束原创 2014-10-27 11:54:07 · 893 阅读 · 0 评论 -
插入排序 --- 算法
插入排序:插入即表示将一个新的数据插入到一个有序数组中,并继续保持有序。例如有一个长度为N的无序数组,进行N-1次的插入即能完成排序;第一次,数组第1个数认为是有序的数组,将数组第二个元素插入仅有1个有序的数组中;第二次,数组前两个元素组成有序的数组,将数组第三个元素插入由两个元素构成的有序数组中......第N-1次,数组前N-1个元素组成有序的数组,将数组的第N个元素插入由N-1个元素构成的有原创 2014-10-26 23:40:56 · 884 阅读 · 0 评论 -
猴子吃桃子问题 -- 递推算法(倒推)
问题;猴子吃桃子问题。猴子第一天摘下若干个桃,当即只一半,又多吃一个。第二天早上又将剩下的一半吃掉一半,双多吃一个。以后每天早上都吃了前天剩下的一半零一个,到第10天早上只剩下最后一个桃。问第一天摘了几个桃。解题分析原创 2014-10-27 09:40:32 · 5679 阅读 · 0 评论 -
Anagram --- 哈希算法
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 17711 Accepted: 7213DescriptionYou are to write a program that has to generate all possible words from a given set原创 2014-10-12 15:36:53 · 1142 阅读 · 0 评论 -
HDURevenge of Fibonacci --- 高精度 + 斐波那契数列 + 字典树
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 204800/204800 K (Java/Others)Total Submission(s): 2110 Accepted Submission(s): 504Problem DescriptionThe well-known Fibonacci原创 2014-10-31 00:26:23 · 1896 阅读 · 0 评论