08 2017 档案
摘要:注意: 在将指向明确的内存空间的地址赋给指针变量前,不要对指针变量指向的内存空间的内容做任何修改,因为不确定它到底指向哪。
阅读全文
摘要://G:\\javaPro 目录下所有文件复制到F:\\javaPro import java.io.*; public class CopyTest01 { public static void main(String[] args) { String sourceDir="G:\\javaPro"; File sd=new File(sourc...
阅读全文
摘要:InputStreamReader和FileReader的区别: InputStreamReader是输入字节到字符的转换流,所以其构造方法的参数必须是InputStream类型的,并且可以在构造方法中重新指定编码的方式; InputStreamReader是FileReader的父类; FileR
阅读全文
摘要:斐波那契查找是一种在有序表中高效查找指定元素的算法,比折半查找要复杂一些,主要复杂在要多做不少准备工作。下面看它的工作流程: 1.计算并保存一个斐波那契序列的数组,方便以后取值。数组名记为f,例如f[1]=1,f[2]=1,f[3]=2,f[4]=3,f[5]=5,f[6]=8,f[7]=13,f[
阅读全文
摘要:算法介绍 迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。 基本思想 通过Dijkstra计算图G中的最短路径时,需要指定起点s(即从顶点s开始计算)。 此外,引进两个集合
阅读全文
摘要:Floyd算法里面是三重循环,所以时间复杂度是O(n^3). 适用于求解所有顶点至所有顶点的最短路径问题。 优缺点分析: 优点:容易理解,可以算出任意两个节点之间的最短距离,代码编写简单。 缺点:时间复杂度比较高,不适合计算大量数据。 结果:
阅读全文
摘要:结果: 两个线程都在等对方释放自己需要的对象锁。
阅读全文
摘要:/* 类锁,类只有一个,所以锁是类级别的,只有一个. */ public class ThreadTest17 { public static void main(String[] args) throws Exception{ Thread t1 = new Thread(new Processor()); Thread t...
阅读全文
摘要:先构造一个只含 n 个顶点、而边集为空的子图,把子图中各个顶点看成各棵树上的根结点,之后,从网的边集 E 中选取一条权值最小的边,若该条边的两个顶点分属不同的树,则将其加入子图,即把两棵树合成一棵树,反之,若该条边的两个顶点已落在同一棵树上,则不可 取,而应该取下一条权值最小的边再试之。依次类推,直
阅读全文
摘要:MST(Minimum Spanning Tree,最小生成树)问题有两种通用的解法,Prim算法就是其中之一,它是从点 的方面考 虑构建一颗MST,大致思想是:设图G顶点集合为U,首先任意选择图G中的一点作为起始点a,将该点加入集合V,再从集合U-V中找到另一点b使得点b到 V中任意一点的权值最小
阅读全文
摘要:原理: 通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的。 时间复杂度 快速排序涉及到递归调用,所以该算法的时间复杂度还需要从递归算法的复杂度开始说起; 递归算法的时间复杂度公式:T[n] = a
阅读全文
摘要:归并排序算法采用的是分治算法,即把两个(或两个以上)有序表合并成一个新的有序表,即把待排序的序列分成若干个子序列,每个子序列都是有序的,然后把有序子序列合并成整体有序序列,这个过程也称为2-路归并.注意:归并排序的一种稳定排序,即相等元素的顺序不会改变. 归并排序之递归实现: 归并排序时间复杂度分析
阅读全文
摘要:简单选择排序没有把每一趟的比较结果保存下来,堆排序做到了在每次选择到最小记录的同时,根据比较结果对其他的记录做出相应的调整。 完全二叉树的某个结点到根结点的距离为;向下取整 [logi]+1。 堆排序的过程
阅读全文
摘要:增量的选取很关键,最好的情况下时间复杂度可达到O(n^(3/2)),要好于直接排序的O(n^2).希尔排序中记录是跳跃式的移动,所以希尔排序不是稳定的排序算法。意义:突破了慢速排序的时代(超越了O(n^2)).
阅读全文
摘要:算法中引进的附加记录R[0]称监视哨或哨兵(Sentinel)。 哨兵有两个作用: ① 进人查找(插入位置)循环之前,它保存了R[i]的副本,使不致于因记录后移而丢失R[i]的内容; ② 它的主要作用是:在查找循环中"监视"下标变量j是否越界。一旦越界(即j=0),因为R[0].可以和自己比较,循环
阅读全文
摘要:比较次数依然是n(n-1)/2,但交换次数最差的时候是(n-1); 时间复杂度O(n^2)
阅读全文
摘要:9.3.3 最好情况比较n-1次,最坏比较n(n-1)/2次,并做同等数量级的交换。 时间复杂度O(n^2);
阅读全文
摘要:
阅读全文
摘要:10.17写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为: int strcmp(char * p1,char * p2) 设p1指向字符串s1,p2指向字符串s2。要求:当s1=s2时,返回值为0。当s1≠s2时,返回它们两者的第一个不同字符的ASCII码差值(如”BOY
阅读全文
摘要:10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中。例如123放在num[0]中,456放在num[1]中……统计共有多少个整数,并输出这些数。 结果:
阅读全文
摘要:不是很难,但是有点繁琐的一道题。注意要把用于计数的变量 count 放到合适的位置。 10.15有一个班4个学生,5门课。(1)求第一门课的平均分;(2)找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;(3)找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编3个
阅读全文
摘要:将n个数按输入输出顺序的逆序排列,用函数实现。 结果:
阅读全文
摘要:10.13 写一个用矩形法求定积分的通用函数,分别求sinx,cosx,expx的0-1的定积分 结果:
阅读全文
摘要:用指针数组求解。 结果:
阅读全文
摘要:10.10 将一个5×5的矩阵中最大的元素放在中心,4个角分别放在4个最小的元素(按从左到右,从上到下的顺序,依次从小到大存放),写一个函数实现之,并用main函数调用。 结果:
阅读全文
摘要:结果: 犯了一个小错误,输出换行的时候用的是printf('\n'),改成双引号就对了。附上printf() 的用法。 1,printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。 2,printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。
阅读全文
摘要:10.8输入一行文字,找出其中大写字母、小写字母、空格、数字及其他字符各有多少? 结果:
阅读全文
摘要:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。 看了下上机指导上的答案,感觉自己写的这段代码有点low。 结果:
阅读全文
摘要:有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。 结果:
阅读全文

浙公网安备 33010602011771号