自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 简单的哈希表链式地址法应用(通讯录/商品价格)

代码如下(首字母分类,用小写字母查询,代码按实际情况修改)

2024-01-03 18:41:04 346 1

原创 队列,队列的出队与入队(c++)链式队列

队列是一种数据结构,是一种特殊的受限的线性表,只能在头和尾操作,一端入队,一端出队。队列中一般用front(前)表示头结点,用于队列元素的出队,用rear(后)表示尾结点,用于队列添加元素(入队)。队列中储存元素的叫做结点,头节点不储存数据。形象来说,队列就像排队取票,队列前面的人取票离开,新来的在队列后面。

2023-12-19 19:39:31 677

原创 学习记录:合并排序算法及其时间复杂度

原理:每次数组取半,当数组元素数目为一时返回,当两个merge(左区间数组和右区间数组)返回到同一层次时,调用mergesort排序。由于从左到右:3比2先返回第一层,32比857先返回第零层,8比57先返回第一层,5比7先返回第二层。第三层: 5 7。4:2 3 5 7 8->2 3 5 7 8第零层。第二层:3 2 8 57。3:8 5 7->5 7 8第一层。总时间复杂度总为nlog(n)。1:3 2->2 3第一层。2:5 7->5 7第二层。

2023-12-10 00:38:03 337 1

原创 关于快速排序时间复杂度讨论

很明显,每一行时间都为O(n)。可以看到,在每次选取第一个为基准时,顺序的数列进行快排时调用栈的高度为n,所以得出最糟情况时间复杂度为O(n^2)。快速排序是D&C(分而治之)的经典算法之一,对于它的时间复杂度的讨论引入平均情况和最遭情况,事实上最佳情况也是平均情况。可以看到,此时栈的高度为log(n)。每一行时间复杂度为O(n)。得到最佳时间复杂度O(nlog(n))例如以下数列排序(在快排中对已经排好的数列也会执行排序,但是只有判断)如果每次取其中间呢(还是以上的数列)

2023-12-09 14:59:34 347

原创 学习记录:双边递归快速排序

以每个区间最左元素为基准,则从该区间最右开始。(必须从不同与基准数的一边开始)左边停止的数与右边停止的数交换,这样就实现了小的数左边放,大的数右边放。此时该点将大区间分为两个小区间,重新取边界值重复以上步骤。当左右遍历到同一点时,同时停止,基准数与该点的数交换。代码实现(可以优化得更简洁,时间复杂度与上述思路相同)左边开始向右判断,当遇到一个数比基准大则停止。当从右到左遇到一个数比基准小,则停止。双边快排原理:(递增数列)

2023-12-09 14:01:36 348

原创 学习记录:7-6 找出不是两个数组共有的元素

给定两个整型数组,本题要求找出不是两者共有的元素。

2023-12-08 17:28:58 571 2

原创 学习记录:递归的单边快速排序(c++)

//当数组内没有元素时,结束。//更新左右边界,基准右边数组排序。} //输入10个随机数字。r = mark-1;//更新左右边界,基准左边数组排序。} //输出排序后数组。

2023-12-07 01:03:38 318 1

原创 学习代码记录:递归二分查找

/函数声明:调用的函数。int time=0;

2023-12-06 22:04:13 363 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除