- 博客(6)
- 收藏
- 关注
原创 归并排序和快速排序
一般的基本排序方法有冒泡排序,插入排序,选择排序等等,但是这些方法需要的时间复杂度最低也是O(n^2)级别,在我们需要对大数量级的数据处理时,这样的时间复杂度显然不能满足我们对时间上的需求,这里我们简单介绍两种时间复杂度较低的排序方法:归并排序和快速排序。尽管很多编译器,库函数由快速排序的实现,但是学习并理解这两种排序算法的原理更有助于我们在以后的使用和解决问题,同时还有助于我们增长算法的思维活跃度。
2023-04-28 18:23:42
706
原创 二分搜索模板与细节
当我们在一个序列中查找一个元素时,我们首先想到的可能是暴力解决(即从前向后依次查找),这种情况在数据很小的时候可以适用,但是在数据量很大的情况下效率相当低下,所以一般情况下这种方法是不适用的特别是在解决实际问题的时候。这就是二分搜索的基本模板希望对大家有所帮助。
2023-04-27 17:12:56
98
原创 计算机的运算方法--乘法运算
在计算机中,乘法运算是一种很重要的的运算,有的机器直接由硬件乘法器完成乘法运算,有的机器内没有乘法器,但可以按机器做乘法运算的方法,用软件编程实现。因此,学习乘法运算有助于乘法器的设计,也有助于乘法编程。计算机的乘法运算是根据乘法笔算的方式改进得到。乘法笔算方式特点:1.被乘数A左移多次。2.4个积位的相加运算。但是不难发现笔算乘法的方式不适合计算机的运算方式;1.4个积位难以一次相加。2.乘积位数增加一倍,造成器材浪费,时间增加。
2023-04-25 16:44:11
7037
1
原创 平衡二叉树(AVLTREE)
二叉搜索树的查找、插入、删除性能的时间复杂度均为Ologn但这是在期望的前提下,在最好和最坏的前提下差别较大。在最好情况下,二叉查找树的形态和二分查找的判定相似,每次可以缩小一半的查找范围。但是在最坏的情况下,二叉查找树为单支树,即只有从左子树到右子树,每次查找的搜索范围为n-1,退化为顺序查找。二叉查找树的效率和树高成反比,那么为了提高二叉查找树的效率这里就引入了平衡二叉树。平衡二叉查找树即平衡二叉树具有以下性质: 1:平衡二叉树可以为空树。 2:左右子树的高度差值的绝对值不超过1
2022-07-02 12:20:32
269
原创 二叉搜索树(SBT)的创建和删除
在线性表中进行顺序查找在最坏的情况和平均情况下都需要O(n)的时间,二分需要O(logn)的时间但是二分查找的前提是线性表必须是有序的,如果无序则,则二分查找无意义。顺序查找和二分查找适合静态查找。如果在查找过程中有插入、删除等操作,则在最坏情况下和平均情况下都需要O(n)的时间。而将二分查找策略与二叉树结合起来,实现二叉查找结构,就可以达到单次修改和查找均在O(logn)之中完成。 它或者是一棵空树,或者是具有下列性质的 二叉树 : 若它的左子树不空,则左子树上所有结点的值均小于它的 根结点
2022-06-30 23:02:06
372
原创 c++ 构造函数的分类及调用
下面主要讲解c++类 构造函数的两种方式和三种调用方式。1.有参构造2.无参构造(如果由系统提供也叫做默认构造).代码如下(示例):这里我们构造一个人时没有传入他的年龄和名字,我们的方法将其默认设置为“张三”和18;有参构造又分为传参构造和拷贝构造。传参构造:通过这种方式我们就可以构造一个我们想要创建的Person对象。年龄和名字由我们自己初始化。拷贝构造是指将一个已有的对象的成员赋值给我们将要创建的对象。这里我们是传了一个Person的引用P过来对新构造的对象赋值。P是我们已经构造好的对象。下
2022-06-28 21:15:04
523
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人