数据结构与算法
文章平均质量分 79
漫长学习路
为了完善自己的代码,我会尽自己最大的努力
展开
-
java版抽奖算法
奖品大致有12种,根据需求来说苹果11Pro和华为P40的概率为0,所以只有10种奖品,我们的奖池里面只有10种奖品。奖品名称 奖品类型 奖品中将概率% 100元现金红包 实物 0.1 100元京东充值卡 实物 0.4 50元话费 虚拟物品 1 永久翻译包 虚拟物品 3 7天翻译包 虚拟物品 5 230颗蓝钻 虚拟物品 5 1个月会员 虚拟物品 8 100粉钻 虚...原创 2020-09-19 16:14:53 · 18445 阅读 · 3 评论 -
Java生成随机编码
在我们的实际开发中,经常会遇到生成随机编码的问题,编码一般是英文和数字的结合,有点类似于UUID那样,我在网上找了一些生成编码的规则,大都是Random random = new Random()去生成,由于项目中要用到,今天总结了一下生成随机编码的规则,这里会用到根据自增ID生成编码;创建字典:首先去创建一个随机数的字典,以后我们要取哪个数都可以到字典里面去取; 0原创 2015-12-19 17:01:17 · 3003 阅读 · 0 评论 -
直接插入排序(java与js版)
插入排序简单来说,就是重新去遍历一组数据,然后在遍历的时候,拿正在遍历的数据和已经遍历过的数据去对比,最后按照某种特定的顺序去排序;举个简单的例子,大家都玩过斗地主吧,我们把桌子上的牌看成是一个杂乱无序的数组;在我们斗地主的时候,我们会拿刚起的牌和手中的牌进行比较,然后把它插入到指定的位置。这就是我们的插入排序;输入:n个数的一个序列n>。输出:输出的结果要满足排序后的结果;原创 2016-07-01 10:13:11 · 1601 阅读 · 0 评论 -
线性表
线性表类型的定义线性表是最常用,最简单的一种数据结构,简言之,线性表是N个数据元素的有限序列。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储),但是把最后一个数据元素的尾指针指向了哨位结点)。我们说“线性”和“非线原创 2016-07-01 16:48:34 · 861 阅读 · 0 评论 -
Java实现简单二叉树
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入原创 2016-10-09 18:23:27 · 8075 阅读 · 0 评论 -
选择排序算法
选择排序法 是对 定位比较交换法(也就是冒泡排序法) 的一种改进。选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。简单选择排序的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将原创 2017-08-07 12:06:22 · 769 阅读 · 1 评论