![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
文章平均质量分 53
whuruby
珞珈山下的理想,一分耕耘一分收获
展开
-
比较三个数大小
int a,b,c;方法一int max,median,min; if(a>b){ if(b>c){ max=a; median=b; min=c; } else { min=b;原创 2017-07-15 22:44:31 · 5169 阅读 · 0 评论 -
计算一组整数的连续子序列和的最大值
1、针对一维数组 思路:使用动态规划方法 算法说明: 设f(n)表示以a[n]为子序列最后一个元素的最大和,则可以有下面的规则: (1)当f(n-1)<0时,f(n)=a[n]; (2)当n!=0且f(n-1)>0时,f(n)=f(n-1)+a[n]算法实现/** * 有一串整数,有正有负,计算连续子序列和的最大值 * 规律总结 * (原创 2017-08-20 19:42:05 · 968 阅读 · 0 评论 -
空间索引思路整理
需求:查找距离目标1000米内的餐馆 解决思路:对城市内所有餐馆(点对象)建立索引存储,加快查找速度 前提背景:POI空间分布不均匀,市中心比较集中,郊区很少解决方案: 1、使用索引,适合建立索引的数据结构是【Hash】和【树】 2、可能索引方案包括:B树,网格索引,四叉树索引、R树索引、GeoHash 3、B树是针对一维数据【单个字段】使用,空间对象(点、线、面)是多维数据原创 2017-08-19 21:27:18 · 3912 阅读 · 0 评论 -
Java单链表(双端链表)简单实现
1、节点数据结构public class LinkNode { public int data; public LinkNode next; public LinkNode(){ } public LinkNode(int value){ this.data = value; this.next = null; }}2、单链原创 2017-07-19 21:42:45 · 395 阅读 · 0 评论 -
数据结构和算法读书笔记-数据结构理论
1、数据结构 (1)常见的数据结构类型:数组、有序数组、堆栈、队列、链表、二叉树、哈希表、图 (2)存储用数据结构:数组、链表、树、哈希表 (3)程序员编写算法用数据结构:堆栈、队列(优先级队列)2、算法作用在数据结构上,一般需要考虑如下问题 (1)插入一个数据项 (2)删除一个数据项 (3)根据关键字查找指定项 (4)对所有数据进行排序3、如何评价算法 (1)比较次数+移动次数原创 2017-07-18 21:20:24 · 382 阅读 · 0 评论 -
Java优先级队列简单实现
/** * 优先级队列简单实现 * 采用数组实现 * 插入元素时需要进行key比较,找到索引位置 * 删除元素时,直接从顶端取出(优先级高的优先处理) * @author gisliu * */public class PriorityQueue { private int MAX_CAPACITY; private int[] data; private in原创 2017-07-18 21:06:20 · 531 阅读 · 0 评论 -
Java堆栈简单实现
public class StackTest { /** * don't initialize,while initial in constructors */ private int CAPACITY; private int[] data; private int top; public StackTest(int capacity){原创 2017-07-16 16:15:21 · 338 阅读 · 0 评论 -
Java循环队列简单实现
public class Queue { private int MAX_CAPACITY; private int[] data; private int front; private int rear; private int nItems; public Queue(int capacity){ if(capacity < 0)原创 2017-07-16 18:01:59 · 470 阅读 · 0 评论 -
数据结构之树
1、满二叉树 除叶子节点外,每个节点都有两个子节点,除了最后一层,每一层上的节点数达到最大值,第K层有2(k-1)个子节点,高度为m的满二叉树总共有2m-1个子节点(注意k和m为指数)2、完全二叉树 除最后一层(或两层)外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点3、排序(搜索)二叉树 (1)定义:设x是二叉搜索树中的一个结点。如果y是x左子树中的一个结点,那么原创 2017-09-07 11:45:47 · 326 阅读 · 0 评论