摘要:
对于时间复杂度来说,快速排序的速度比较快。 一般系统级别的排序都是使用快速排序。对于有可能出现大量重复元素的情况,我们可以使用三路的快速排序。 归并排序必须开辟额外的空间完成归并的过程,才能完成归并排序。 快速排序虽然是在原地完成的排序,但它仍然需要log2n个额外空间。 这是因为我们在使用递归的方 阅读全文
摘要:
堆这种数据结构的一种典型应用——优先队列(Priority Queue) 普通队列:先进先出;后进后出。 优先队列:出队顺序和入队顺序无关;和优先级相关。 优先队列最典型的应用就是在计算机的操作系统中执行任务,当操作系统执行多个任务时,操作系统是将cpu的执行周期划成了多个时间片,在每个时间片里只能 阅读全文
摘要:
归并排序(MergeSort)和快速排序(QuickSort)都是用了分治算法思想。 所谓分治算法,顾名思义,就是分而治之,就是将原问题分割成同等结构的子问题,之后将子问题逐一解决后,原问题也就得到了解决。 同时,归并排序(MergeSort)和快速排序(QuickSort)也代表了两类分治算法的思 阅读全文
摘要:
什么是事务? 举个常见的例子: 张三要转给李四100元钱。 首先张三的账户上要扣除100元钱,然后李四的账户上增加100元钱。 但是在这期间,如果出了问题,比如,张三账户上扣掉100元,但是李四的账户上没能加上100元;张三的账户上没能成功扣掉100元,而李四的账户上增加了100元等等。 这都不能达 阅读全文
摘要:
首先给大家看个例子: 1)小编首先在数据库中建立了一张测试表logintable,表内有一条测试信息: 然后写了个测试程序: 输出结果为: 2)然后我们修改main()方法中,login()方法调用时的参数,改为: 执行结果: 3)似乎一切都天经地义,没什么问题。但是这时我们再对login()方法调 阅读全文
摘要:
完整报错是这样的: 小编的情况: 使用mysql的jar包版本: 使用的jdcp的相关jar包版本: 报错的原因: mysql的jar包版本过低。 更新到最新版mysql的jar包即可。 小编更新后的版本: 参考博客: http://blog.csdn.net/ouyida3/article/det 阅读全文
摘要:
使用JDBC是怎么保证数据库客户端和数据库服务端进行连接的? 通过代码: JDBC通过这条代码方法的调用建立了一条客户端应用程序到后端数据库的物理连接。期间发生了大量的基于TCP的客户端与服务端的交互。 由于跨机器的网络传输是由较大的网络开销的,所以时间花销很大。 传统的多线程JDBC服务中,我们每 阅读全文
摘要:
JDBC的概念(摘自百度百科) JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库 阅读全文
摘要:
快速排序也属于“交换”类的排序。 核心思想可以概括为:通过多次划分操作实现排序。每一趟选择当前所有子序列中的一个关键字(通常是第一个)作为枢轴,将小于它的元素统统放到它的前面,大于它的统统放到它的后面。然后用这种方法去操作“被放在它前面的小于它的序列”和“被放在它后面的大于它的序列”。 具体实现方法 阅读全文
摘要:
今天调试一个C++程序,在一个函数中定义了一个一维数组,设定数组的大小由函数的输入值来决定。 是这样子的: 然后发现:报错! 报错是这样的: 那么问题来了,在C++中定义数组一定要指定数组大小么? 答案是否定的,我们在定义C++中的数组时,不一定要指定数组大小。 但是向小编代码中那样定义数组就一定要 阅读全文