- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 快速排序
快速排序 一、快排实现 快排的核心是对split()方法的理解。 split()的作用就是:将数组中比枢纽元素小的的元素排在枢纽元素前面,比枢纽元素大的元素排在枢纽元素后面。 实现split()方法后,下面就是实现快速排序了。 首先就是对递归基础条件的处理,让递归有一个出口。然后将整个数组进行split(),这样就把整个数组分割成了两部分,前半部分比枢纽元素小,后半部分比枢纽元素大,采取分而治之的思想,对两部分数组分别进行快速排序。 最后形成整体有序。 以下是实现过程,写法上比较繁琐,没有为代码好看牺牲必要
2020-06-11 22:49:33
367
原创 数据库三范式
数据库三范式 一、关系数据结构及形式化定义 关系:二维表。 属性:二维表中的列。 元组:二维表中的行。 n目关系:具有n列的二维表。 属性组:二维表中多个列组成一个属性组。 候选码:若一个属性组的值能够唯一标识一个元组,则该属性组位候选码。 主码:如果一个关系有多个候选码,那么选择一个作为主码。(主键) 主属性:候选码中的每一个属性都为主属性。 二、函数依赖 函数依赖:不可能存在两个元组在X属性上的值相等,在Y属性上的值不等。也就是X属性的值确定后,Y属性的值随之确定了。也可以是Y属性的值依赖于X。也
2020-06-10 15:16:27
155
原创 如何理解面向对象
如何理解面向对象 一、什么是类 我的理解是:类是对一类对象的描述。类通过定义一些行为和属性向我们描述了这类对象是什么样子的,既然知道了对象的样子,我们就可以来创建出对象了。所以,类之所以可以用来创建对象,原因就在于类清晰的描述了对象的样子。 二、什么是对象 对象是堆上的一块内存空间,包含了类里面定义的一些属性。对象在被创建出来后为了方便别的对象使用,一般会把地址交由一个引用保管,引用的值就是这个对象的地址。 三、如何去理解类里的访问控制符、属性和方法? 提供一个角度:站在当前对象的角度去看类里面定义的访问控
2020-06-09 21:57:50
177
原创 同步与异步,阻塞与非阻塞
同步与异步,阻塞与非阻塞 一、同步 同步从宏观上来看,双方是有序的,步调一致的向前推进。就像A和B两个人一起做事(注意: A和B不一定在做同一件事),A做完一部分后,然后B做,然后A做,然后B做。。。从宏观来看这个过程,A和B是有序向前推进的。从微观上看这个过程,那就会发现任一时刻要么是A在干他的事要么是B在干他的事,不可能出现A和B同时在做他们自己的事。 二、异步 异步从宏观上来看,双方是无序的...
2020-04-14 23:05:06
147
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人