数据结构与算法分析
文章平均质量分 80
上后左爱
这个作者很懒,什么都没留下…
展开
-
PAT 1001 Public Bike Management
题目:1001 题目解题思路:此题进行的是对图中路径的遍历:首先通过dijkstra算法对图中路径的遍历,首先找出耗时最短的路径:I:只有一条最短路径最好的,直接计算其中的搬运的bike数量。II: 有多条相同最短路径的话,必须计算Bike 量最小的择优路径选择。dijkstra算法原理:从源点S出发到终点E的最短路径,对于此而言,如何从S经过若干个中间点到达E:1.S出发,查找与在这里有几个问题:1.这里有三个限制条件,其优先级分别:时间最少>发送车辆最少>返回车辆最少。2.对于发送,题目中原创 2016-07-19 19:16:03 · 203 阅读 · 0 评论 -
Java中字符串的拼接问题
1.在Java中 比较两个字符串的大小 使用 str1.compareTo(Str2);对于其中compareTo的方法 按照ASCII码的顺序比较:查看其中的源代码如下: compareTo()方法 事实上我们按照这种方式重写其中compareTo的方法 public int compareTo(String anotherString) { int len1 = val原创 2017-05-10 09:55:05 · 1105 阅读 · 0 评论 -
二叉树建立 ---层次遍历方式
使用层次遍历 采用递归的方式建立二叉树:-1表示空结点package TreeNode;public class TreeCreate { public TreeNode root; public TreeCreate(int [] array) { root=CreateTree(array,0); } public TreeNode CreateTre原创 2017-03-20 10:48:45 · 1056 阅读 · 0 评论 -
滑动窗口中求最大值
1.对于这个问题,事实上使用一个队列记录每一次有可能在滑动窗口中成为最大值数值的索引下标,队列中对首在新增数据的时候表持最大值,当 局部极大值下标与当前处理下标大于 滑动窗口长度,将对首数据出队。package com.ht.base;import java.util.ArrayList;import java.util.LinkedList;public class MaxWin原创 2017-06-04 22:26:47 · 1009 阅读 · 0 评论 -
数组中最大第K元素(快排思想)
1. 利用快排的思想找数组中最大K元素,但是找到最大K元素 是排序后的数组 地址索引为K位置上的元素但是利用快排的思想 不需要进行排序 只需要找到 地址索引=k 位置 前k-1个元素 不一定是排序的但是 前k-1个元素一定不小于(>=)索引k位置上的值 . 快排思想: 1.进行一次快排(将大的元素放在前半段,小的元素放在后半段), 假设得到的中轴为p=partition()原创 2017-05-19 19:06:02 · 1900 阅读 · 0 评论 -
堆排序
1. 堆是一种完全二叉树 但是与普通的完全二叉树不同 特点: ① 最大堆:父结点的键值比左右孩子的键值大 ② 对于堆中任意一个节点开始 其子堆还是完全的二叉堆2. 要点: ① 根据 给定的初始数组 建立一个初始堆(从最后一个非叶子结点(数组中索引N/2位置)的值上滤进行调整) 调整的方式 每一次从其左孩子、右孩子和父节点 选择最大的值进行交换 当对堆进行原创 2017-05-18 10:45:47 · 214 阅读 · 0 评论