Java,数据结构与算法
小二_沏杯二锅头
这个作者很懒,什么都没留下…
展开
-
快速排序Java实现
假设有n个记录,键值为k1,k2,...kn。利用分治策略与递归思想解决快速排序:1.取i为第一个键值。2.从左至右查找ki使得ki>k。3.从右至左查找kj使得kj<k。4.若i<j,swap(ki,kj),继续步骤2。5.若i>j,swap(k,kj),并以j为基点分割为左右两部分,递归左右两部分进行排序(不包括j位置的键值)。impo...原创 2017-08-11 16:41:33 · 225 阅读 · 0 评论 -
堆排序Java实现
堆排序的实现原理就先不给出了,有时间再补上。如果了解堆排序的原理,并理解完全二叉树与最大堆,相信看了代码实现后应该能有所帮助,注释很详细,有误的地方恳请指正!其代码实现如下:import java.util.Arrays;public class Heap_Sort { private static int[] data = { 0, 5, 6, 10, 8, 3, 2, 7,原创 2017-08-25 18:35:13 · 239 阅读 · 0 评论 -
Java的native方法
出处:点击打开链接 第一篇:今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解。一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个转载 2017-10-24 13:08:17 · 250 阅读 · 0 评论 -
201803CCF第二题(碰撞的小球)Java
题目描述:数轴上有长度为L(L为偶数)的线段,左端点0,右端点L。n个小球开始都是向右,且都在偶数坐标上,速度大小为1单位长度每秒。当小球到达端点(0或L)时,立即反向,速度不变;当两个小球相撞(在同一位置),立即反向,速度不变。现在告诉你线段长度L,小球数量n,以及n个小球初始位置,请计算t秒之后各个小球的位置。提示:同一时刻同一位置最多只有两个小球相撞,由于速度始终不变,所以碰撞时...原创 2018-03-18 20:47:22 · 3372 阅读 · 2 评论 -
CCF跳一跳Java(201803CCF第1题)
题目不记得太多,大概描述下:就是微信跳一跳游戏,给一组输入,输入中只有1,2,0三个数字,1代表跳到了下一个盒子但不在中心,得分+1;2代表跳到了下一个盒子且在中心,根据上次的得分计算:如果上一次得分为1,那此次得分+2,如果上一次得分为2,那此次得分+4(2+2=4),以此类推。。。如上一次得分为6分,这次又跳到了盒子中心,那此次得分为+8分(6+2=8);0就代表没有跳到盒子上,游戏结束。...原创 2018-03-19 12:45:53 · 2194 阅读 · 2 评论 -
一个简单的星期枚举类及应用
/** * 枚举类 */public enum WeekEnum { SUN("周日"), MON("周一"), TUE("周二"), WED("周三"), THU("周四"), FRI("周五"), SAT("周六"); private String weekday; WeekEnum(String weekda...原创 2019-05-20 10:29:07 · 4659 阅读 · 0 评论 -
用Python只要3行代码实现快速排序?
def quick_sort(arr: list): """stable quicksort""" if len(arr) <= 1: return arr return quick_sort([i for i in arr[1:] if i <= arr[0]]) \ + [arr[0]] \ + ...原创 2019-07-14 11:44:47 · 156 阅读 · 0 评论