数据结构与算法分析Java版练习2.8_数据结构与算法例2-8-程序员宅基地

技术标签: 算法  数据结构与算法分析Java版  数据结构  

package ch02;

import java.util.Arrays;
import java.util.Random;

/**
 * 练习2.8 假设需要生成前N个整数的一个随机转换。例如{4,3,1,5,2}和{3,1,4,2,5}就是合法的转换,但
 * {5,4,1,2,1}则不是,因为数1出现两次而数3却没有。这个程序常常用于模拟一些算法。我们假设存在一个随机数
 * 生成器r,它有方法randInt(i, j),它以相同的概率生成i和j之间的整数。下面是三个算法:
 * 1. 如下填入从a[0]到a[n-1]的数组a;为了填入a[i],生成随机数直到它不同于已经生成的a[0],a[1],...,a[i-1]时
 *    再将其填入a[i]。
 * 2. 同算法(1),但是要保存一个附加的数组,称之为used数组。当一个随机数ran最初被放入数组a的时候,置used[ran]=true。
 * 	    这就是说,当用一个随机数填入a[i]时,可以用一步来测试是否该随机数已经被使用,而不是像第一个算法那样(可能)用
 * 	  i步测试。
 * 3. 填写该数组使得a[i] = i + 1。然后
 *    for (i = 1; i < n; i++)
 *       swapReference(a[i], a[randInt(0, i)]);
 * a. 证明这三个算法都生成合法的置换,并且所有的置换都是可能的。
 *    (证明略。)
 * b. 对每一个算法给出你能够得到的尽可能准确的期望运行时间分析(用大O)。
 * c. 分别写出程序来执行每个算法10次,得出一个好的平均值。对N=250, 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhangyingli/article/details/48311945

智能推荐

AnyTXT Searcher 一款强大的本地文件内容搜索软件,快速实现在线办公搜索神器!-程序员宅基地

文章浏览阅读4.7k次,点赞6次,收藏8次。你是否遇到过这种情况,异地办公或者不在公司,想找到一篇课件或者想找到某个文件,你只记得资料文件或者课件里的某一句话,却不记得它的名字,你花了大量的时间,大量的精力,却怎么也找不到这个文件在哪个地方,看完本篇文章,希望能解决你的这个问题!Any TXT结合[cpolar](cpolar - 安全的内网穿透工具)内网穿透帮你实现异地办公寻迅速查找到公司电脑的文件!之前曾给大家介绍过搜索工具Everything,搜索速度很快,但是不足的是这个只能根据文件名进行搜索。_anytxt

人大金仓数据库KingbaseES一种JDBC读写分离权重负载均衡的实现方法-程序员宅基地

文章浏览阅读405次,点赞9次,收藏8次。如图2 所示,用户需先设置各个数据源权重的初始值,内部函数对权重初始值进行优化,将无穷大的权重设置为10000,将空值的权重设置为1。最后,使用随机数生成方法,获取0到1之间的随机数(不包含0),判断该随机数所归属的数值区间,该数值区间所对应的数据源节点即是当前请求所需分发的目标节点。KES-JDBC提出一种读写分离权重负载均衡的实现方法,该方法不需要从服务端采集数据,也不需要在代理处统计各服务器的负载率,而是依靠随机数来实现集群的负载均衡。因此,良好的权重负载均衡方法是高性能数据库集群的关键之一。

PKI/CA工作原理及架构_单个ca的pki结构图-程序员宅基地

文章浏览阅读9.2k次,点赞2次,收藏27次。相关概念PKI:Public Key Infrastructure,公钥基础设施。 CA:Certificate Of Authority,认证中心。 数字证书:提供了一种发布公钥的简便途径; 一个数字证书包括:拥有者身份信息、公钥、CA数字签名、有效期等其他信息。 数字签名:用来确认信息发送者的身份,保证信息的完整性和抗否认性。数字签名图1 数字签名数字签名的生成:对于..._单个ca的pki结构图

ASP.NET 使用alert弹出对话框后,CSS样式失效,字体变大的解决方法_vs.net2017web中alert怎么不能用-程序员宅基地

文章浏览阅读632次。弹出提示窗口用的Response.Write("alert('删除成功');"),原来好用,不知道什么原因不能用了解决方法如下:使用Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('XXXX');"); 代替原来的书写方式可以写成一个方法,供多处使用public static void WebM_vs.net2017web中alert怎么不能用

15、Nuxt.js代理转发解决跨域问题_nuxtjs 跨域-程序员宅基地

文章浏览阅读340次。【代码】15、Nuxt.js代理转发解决跨域问题。_nuxtjs 跨域

如何在CKEditor5富文本编辑器中获取工具栏可用项目_ckeditor5获取默认工具栏-程序员宅基地

文章浏览阅读654次。CKEditor5富文本编辑器官方地址Vue 的一个更简单的解决方案 - 只需@ready="onReady"在ckeditor组件和onReady方法中监听:onReady(event) { console.log(Array.from(event.ui.componentFactory.names()));},在vue.js中简单通过下面的示例即可实现;import ClassicEditorfrom '@ckeditor/ckeditor5-build-classic';expor_ckeditor5获取默认工具栏

随便推点

java职业发展路线图_Java开发工程师职业发展及晋升路线图-程序员宅基地

文章浏览阅读774次。原标题:Java开发工程师职业发展及晋升路线图对于一个Java开发工程师来讲,了解Java开发的职业发展及晋升路线是十分有必要的。不仅可以帮助自己更好地规划对未来的职业发展,而且在求职时有了更加明确的方向。那么Java开发工程师的职业发展及晋升路线图是怎么样的呢?我们一起来看看。 1.Java程序员这是Java开发工程师的第一阶段了,一般是刚入门Java行业者。这一阶段主要是掌握了一定的Java编..._java开发工程师路线图

vue项目input输入框双向绑定数据不实时生效_表单内输入框无法输入双向绑定失效-程序员宅基地

文章浏览阅读1w次。<input type="text" maxlength="11" placeholder="请输入联系人电话" v-model="form.phone" />//这样的输入框,绑定的是data中的form对象上的phone字段。在mounted钩子函数里边写:this.form.phone = '1888888888';//这样在页面上时候不会随着输入框值改变..._表单内输入框无法输入双向绑定失效

mysql 前沿表设计_史上最简单MySQL教程详解(基础篇)之表的维护和改造-程序员宅基地

文章浏览阅读58次。表结构修改在我们实际的开发的过程,随着开发的深入,会发现我们事先设计好的表可能已经不再适合,就会设计到对表的修改和改造。这里我就向大家介绍一下一些常用的方法和情况。这里我们使用的是之前在中就已经使用到了【ALTER】语句进行修改。注意事项:任何设计到表的的修改和改造的操作,都有可能发生不可预知的错误或者情况出现,所以安全起见,请在每次操作之前都做好数据的备份,以防万一。修改列的数据类型具体如下:A..._一个表的维护表设计

Python面向对象编程:类与对象-程序员宅基地

文章浏览阅读236次,点赞3次,收藏8次。1.背景介绍1. 背景介绍面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将问题抽象为一组相关的对象,这些对象可以与一 another 进行交互。Python是一种强类型动态语言,支持面向对象编程,这使得Python成为了许多大型项目的首选编程语言。在本文中,我们将深入探讨Python的面向对象编程特性,包括类、对象、继承、多态等。2. ...

蚂蚁二面遭JVM调优灵魂拷问,逼得我啃透500页JVM实战笔记,成功上岸京东-程序员宅基地

文章浏览阅读505次,点赞5次,收藏12次。就写到这了,也算是给这段时间的面试做一个总结,查漏补缺,祝自己好运吧,也希望正在求职或者打算跳槽的 程序员看到这个文章能有一点点帮助或收获,我就心满意足了。多思考,多问为什么。希望小伙伴们早点收到满意的offer!越努力越幸运!金九银十已经过了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。

序列号 java_JAVA序列号的serialVersionUID-程序员宅基地

文章浏览阅读411次。serialVersionUID 的规范 Serializable 和 ExternalizableJava类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法进行序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。如果读者看过Serializable的源码,就会发现,他只是一个空的接口,里面什么东西都没有。Serializable接口没有方..._serialversionuid 序列号

推荐文章

热门文章

相关标签