- 浏览: 885641 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (509)
- android (55)
- CSS (23)
- eclipse (25)
- Data Structes and Algorithms (53)
- J2SE (87)
- Java_面试学习_j2se (26)
- java_面试学习_非技术 (13)
- java_gui (2)
- java_设计模式 (27)
- JDBC (10)
- java_web (15)
- hibernate (5)
- Oracle (37)
- Struts2 (7)
- Word-----dos (24)
- Jbpm (3)
- java小技巧 (8)
- math (1)
- flex (12)
- WebService (4)
- 生活 (9)
- 小框架或小语言 (27)
- spring (1)
- 面试~~~软实力 (7)
- jstat的用法 (1)
- jmap (1)
- 数据链路层和传输层的流量控制区别 (1)
- shell (0)
- 财商 (1)
- javascript (0)
- js研究 (1)
- 代码收集 (0)
最新评论
-
海尔群:
http://jingyan.baidu.com/articl ...
android加密 -
完美天龙:
------------------------- ...
asm----字节码操纵 -
houniao1990:
大神,请问 string 类型 定义为 oracle的 cha ...
hibernate注解 -
JamesQian:
Line:103
f.doFilter(msg);
是否需 ...
责任链模式_过滤器模式 -
sacoole:
好评
interview--- 如何从N个数中选出最大(小)的n个数?
//1.BubbleSort package com.zhe.sort; /** * sortedIndex :已排序了的数组索引,最开始都未排序,所以索引为 -1 * @author Administrator * */ public class BubbleSort { public static long[] sort(long[] arr){ long temp = 0; for(int sortedIndex = -1; sortedIndex <arr.length-1;sortedIndex ++){ for(int cursor = arr.length-1;cursor >sortedIndex ; cursor --){ if(cursor > 0 && arr[cursor]<arr[cursor-1]){ //防止cursor为0时,cursor-1越界 temp = arr[cursor]; arr[cursor] = arr[cursor-1]; arr[cursor-1] = temp; } } } return arr; } } package com.zhe.sort; public class InsertSort { /** * 插入排序就是保证前面的i个有序,插入到前面有序队列的适当位置 * 在有序队列中比 插入数大的 都后移 * @param args */ public static long[] sort(long[] arr ){ //i从1开始,表示第一个位置需要被插入,第0个位置之前没有与之比较的对象,所以从1开始 for(int sortingIndex=1; sortingIndex<arr.length ; sortingIndex++){ long temp = arr[sortingIndex]; int cursor = sortingIndex-1; //j记录需插入的数 int emptyPos = sortingIndex; while(cursor>0 && arr[cursor]>temp){ arr[emptyPos]=arr[cursor]; emptyPos = cursor; cursor--; } arr[emptyPos] = temp; } return arr; } /** * {3,8,9,7,6,5} * 8 9 */ } package com.zhe.sort; /** * 这个思想是: 递归 * 先找到一个值,然后使得左边小于这个值,右边大于这个值(数组的最后一个值为分割值) * --->归的部分,因为归的部分太复杂,所以搞了一个方法包装起来 * * 然后再让这两部分分别排序---->递的部分 * 因为如果只有一个元素,那么这个元素肯定是有序的。。。 * @author Administrator * */ public class QuickSort { static long[] arr; public static void sort(long[] arr,int left,int right){ if(left > right){ QuickSort.arr = arr; return ; } else{ int middle = participate(arr,left,right); sort(arr, left, middle-1); sort(arr,middle+1,right); } } private static int participate(long[] arr,int left,int right) { int rowLeft = left; int rowRight = right; long middleData = arr[right]; long temp=0; left --; while(left<right){ while(left<right&&arr[++left]<middleData);//保证left拿到的一定大于middleData while(left<right&&arr[--right]>middleData);//保证right拿到的一定小于middleData /* while(left < right){ if(arr[left]<middleData)left++; else break; } while(left<right){ if(arr[right]>middleData)right--; else break; }*/ if(left<right){ temp = arr[right]; arr[right]=arr[left]; arr[left] = temp; } } arr[rowRight] = arr[right]; arr[right] = middleData; return right; } public static long[] getArr() { return arr; } } /** * 1 2 3 4 7 8 9 6 * left * */ package com.zhe.sort; /** * 与冒泡唯一的不同就是冒泡排序是 比一次交换一次,而这个是比一趟交换一次 * sortedIndex :已排序了的数组索引,最开始都未排序,所以索引为 -1 * @author Administrator * */ public class SelectionSort { public static long[] sort(long[] arr){ long temp = 0; for(int sortedIndex=-1; sortedIndex < arr.length-1; sortedIndex++){ int min = arr.length-1; //假设最后一个元素是最小值 for(int cursor=arr.length-1; cursor>sortedIndex; cursor--){ if(arr[min] > arr[cursor])min=cursor; } temp = arr[sortedIndex+1]; arr[sortedIndex+1]= arr[min]; arr[min] = temp; } return arr; } } package com.zhe.sort; /** * 希尔排序是插入排序的改进,他可以先跳步插入,最后再来一次插入排序 * 最大增加幅度规则 w = w*3+1 < arr.length;的最大h 值 * @author Administrator * */ public class ShellSort { public static long[] sort(long[] arr){ //选出最优增幅 int w = 1; while(w*3+1< arr.length){ w = w*3 +1; } while(w>0){ //插入排序,因为第0个对象已经排序完毕,所以第一个对象是0+h=h //因为是分成h组,所以每一组的第一个都被认为是有序的 for(int sortingIndex = w ;sortingIndex < arr.length ;sortingIndex++){ long temp = arr[sortingIndex]; int emptyPos = sortingIndex; int cursor = emptyPos -w; while(cursor >=0){ if(arr[cursor]> temp){ arr[emptyPos] = arr[cursor]; emptyPos = cursor; } cursor -= w; } arr[emptyPos] = temp; } w = (w-1)/3; } return arr; } } 当n较小时,对稳定性不做要求时用选择排序(他不是挨着操作元素),对稳定性有要求时用插入或者冒泡 当n较大时,关键元素比较随机,对稳定性没要求用快速排序,但是元素基本有序的话快速就变成了冒泡排序,因为不管怎么样他都会递归的 当n较大时,元素可能出现本身有序,对稳定性没要求用堆排序。(建立堆的过程比较漫长) 当n较大时,元素可能出现本身有序,对稳定性有要求,空间允许情况下用归并排序
发表评论
-
j2se---jmap看性能
2011-08-05 09:41 1055dump一下内存jmap -dump:format=b,fil ... -
程序员面试题精选100题(60)-判断二叉树是不是平衡的
2011-07-24 15:33 6779题目:输入一棵二叉树的根结点,判断该树是不是平衡二叉树。如果某 ... -
程序员面试题精选100题(58)-八皇后问题
2011-07-24 12:22 1127题目:在8×8的国际象棋上摆放八个皇后,使其不能相互攻击,即任 ... -
程序员面试题精选100题(57)-O(n)时间的排序
2011-07-24 12:02 1204题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法 ... -
程序员面试题精选100题(55)-不用+、-、×、÷数字运算符做加法
2011-07-24 11:15 1724题目:写一个函数,求两个整数的之和,要求在函数体内不得使用+、 ... -
程序员面试题精选100题(51)-顺时针打印矩阵
2011-07-24 09:35 1640题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个 ... -
程序员面试题精选100题(50)-树为另一树的子结构
2011-07-23 20:24 1084题目:二叉树的结点定 ... -
程序员面试题精选100题(49)-复杂链表的复制
2011-07-23 19:49 1358题目:有一个复杂链表,其结点除了有一个m_pNext指针指向下 ... -
程序员面试题精选100题(48)-二叉树两个结点的最低共同父结点
2011-07-21 19:17 2164题目:二叉树的结点定义如下: struct TreeNode ... -
程序员面试题精选100题(47)-数组中出现次数超过一半的数字
2011-07-21 18:56 1122题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个 ... -
程序员面试题精选100题(46)-对称子字符串的最大长度
2011-07-21 18:46 1598题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。 ... -
程序员面试题精选100题(45)-Singleton
2011-07-21 18:38 979不说了。。。见设计模式 -
程序员面试题精选100题(44)-数值的整数次方
2011-07-19 22:22 1562题目:实现函数double Pow ... -
程序员面试题精选100题(43)-n个骰子的点数
2011-07-19 20:02 2210题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入 ... -
程序员面试题精选100题(42)-旋转数组的最小元素
2011-07-19 18:56 1016题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数 ... -
程序员面试题精选100题(41)-把数组排成最小的数
2011-07-17 23:35 1247题目:输入一个正整数数组,将它们连接起来排成一个数,输出能排出 ... -
程序员面试题精选100题(38)-输出1到最大的N位数
2011-07-17 22:49 1568题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入 ... -
程序员面试题精选100题(37)-寻找丑数
2011-07-17 22:15 2572题目:我们把只包含因子2、3和5的数称作丑数(Ugly Num ... -
程序员面试题精选100题(36)-在字符串中删除特定的字符
2011-07-17 21:17 1021题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字 ... -
程序员面试题精选100题(35)-找出两个链表的第一个公共结点
2011-07-17 20:32 1266题目:两个单向链表,找出它们的第一个公共结点。 两个链表如果 ...
相关推荐
有关sort函数的用法和研究
SORT(Simple Online and Realtime ...总的来说,SORT算法是计算机视觉领域多目标跟踪中的一个重要里程碑,它以高效、实时和易实施的特点,为实际应用提供了强大支持,并启发了一系列后续研究,推动了整个领域的进步。
SSD(Single Shot MultiBox Detector)是一种流行的深度学习目标检测模型...对于研究者和开发者来说,这是一个了解和实践SSD、MXNet、DeepSort以及PyTorch集成的宝贵资源,有助于提升他们在目标检测和跟踪领域的技能。
Apriori-sort算法是在Apriori算法基础上的改进,基本思想是把事务数据库变为以度表示的事务度数据库,并对事务度数据库进行排序。Apriori-sort算法查找频繁项集时,只扫描数据库Dd中满足d(Ck)≦d(Ti)的事务。对...
这个实现不仅对研究人员和开发者有极大的价值,也适用于实际应用,如智能监控、自动驾驶、无人机航拍等场景,它能在这些环境中实时有效地跟踪多个移动的目标。通过结合Yolov5的强大检测能力和DeepSORT的精确跟踪技术...
毕业设计深度学习基于步态识别检测的多目标跨镜头跟踪算法研究项目源码.zip毕业设计基于步态识别的多目标跨镜头跟踪算法研究 主算法:基于yoloV5-deepsort框架进行目标检测和跟踪+GaitSet算法 毕业设计深度学习基于...
本项目提供的"deepsort.rar"压缩包,包含了该任务的初赛代码和决赛优化代码,采用的是Cascade R-CNN与DeepSort相结合的方案,同时还提供了预训练权重和比赛权重,为研究者和开发者提供了宝贵的资源。 首先,我们来...
根据Deep SORT的代码进行算法流程分析,通过列举了前4 帧的跟踪流程,对每一帧各种结果的可能性进行了分析,便于研究多目标跟踪方向的道友们更好的理解代码流程。本人也是初学者,若有解释不到位或者借鉴不当之处,...
在本文中,我们将深入探讨如何使用Python实现基于Mask R-CNN和Deep SORT算法的目标检测与跟踪。这两个强大的工具结合在一起,能够实现对图像和视频中多个目标的精确检测和连续跟踪。 首先,让我们来了解**Mask R-...
《基于Python的Yolov5-DeepSort车流量统计与轨迹显示源码解析》 在当前的智能交通系统中,车流量统计与车辆轨迹分析...通过深入研究和实践,我们可以进一步提升算法性能,优化系统效率,为智慧城市的构建贡献力量。
这个项目为鸟类生态研究、野生动物保护等领域提供了有力的工具,能够自动识别和追踪鸟类,对于理解和保护鸟类行为具有重要意义。同时,该系统的技术也可以推广到其他领域,如交通监控、体育赛事分析等。
《深度学习目标检测与追踪:DeepSORT-..."deepsort-yolov3-车辆行人-跟踪结果.zip"的文件内容,为我们提供了该技术在实际应用中的具体表现,为研究者和开发者提供了一个直观的参考,有助于进一步优化和改进此类算法。
在本文中,我们将深入探讨"DeepSORT-YOLOv5猫狗检测和跟踪+可视化目标运动轨迹"这一技术主题。这个项目结合了两种强大的...通过理解和应用这些技术,开发者和研究者可以进一步探索和改进目标识别和跟踪的效率和准确性。
同时,这也可以作为进一步研究和优化排序算法的基础,例如,如何减少快速排序的最坏情况,或者如何提高插入排序的效率等。总的来说,这是一个极好的学习资源,可以帮助初学者建立起对排序算法的系统认知。
目标跟踪和YOLOv8-DeepSORT智能车辆跟踪计数系统的实现是一个综合性的计算机视觉任务,涉及了...通过实际操作,学习者不仅可以掌握理论知识,还能锻炼解决问题和调试代码的能力,为未来的研究和开发工作打下坚实基础。
在计算机科学领域,排序算法是数据处理的核心技术之一,它用于将一组无序的数据元素按照特定...在“array_sort”这个主题中,我们可以进一步研究如何针对数组数据结构实现高效的排序和查找操作,以满足不同场景的需求。
PyTorch是Facebook开发的开源库,提供动态计算图功能,易于调试和实验,是许多AI研究和开发项目的首选工具。 6. **项目结构与文件**: “Yolov5_DeepSort_Pytorch-master-drone_1”可能是项目文件夹名,暗示该项目...
在IT领域,车辆检测和跟踪是一项重要的计算机视觉技术,它被广泛应用于智能交通、自动...通过深入研究和实践,可以进一步提升目标检测和跟踪的性能,比如优化模型参数、改进跟踪策略,或者扩展到更多类别的目标检测。