- 博客(5)
- 收藏
- 关注
原创 二叉搜索树的代价讨论与优化的一种(上)
如果这棵树所有节点的比率都趋近于第二种情况,那么这棵树就会变成昂贵的单链表,它的单次操作平均时间将是O(N),但是这种概率就和这棵树所有节点的比率都趋近于第一种情况一样,即完美二叉树,概率极低。所以在这棵树中所有节点的比率大多出现在一二种情况中间,然而对树的深度起决定影响的是第二种情况的节点数量,如前所述,第二种情况的节点数量在随机插入N次的树中占比率极低,这也就是为什么随机插入N次的二叉树的节点平均深度能在O(logN),而不是O(N),所以结论单次操作平均时间是O(logN)成立。
2023-12-03 22:30:59
58
1
原创 归并排序的排序次数的算式推导
归并排序的时间复杂度众所周知是(nlog n),并且是一个稳定的排序算法,归并排序的排序次数,随着排序的数字越多,排序次数也越大,但是对于排序的数的个数相同的情况下,排序次数是不变的,在这里我给出算是推导,此算式推导是基于我的排序算法实现的。在这里面,log n是取下界的,另外我的归并排序算法实现里面是去掉了哨兵牌的,欢迎评论区讨论。算式:2n*(log n+2)-2**(log n+2)
2023-05-23 16:04:34
228
1
原创 球球大作战(阉割版)
第一步,创建一个图形窗口,也就是所谓的画布,。第二步,定义三个结构体变量,分别是画布的长宽,还有玩家所控制的球的坐标和半径,以及作为养料的球,具体代码请看如下在这里我用的是WINDOWS的函数,就那个名字特别长的GetAsyncKeyState( ),作用就是接收键盘输入,然后改变玩家所控制的位置,当然,这个条件的实现是把这个过程放在一个死循环当中,就不停的进行打印和删除,以达到一个连续的过程玩家所控制球移动的函数最后,如果想要我这个代码的,评论区联系我,加QQ或者微信,我发给你,当然发完即删,你好,我也好
2023-04-22 14:04:45
180
1
原创 C语言动态模拟队列插入方式
以下是C语言模拟队列插入方式与删除操作,可作参考,帮助理解队列实现方式#include <stdio.h>#define N 7void front_rear(int * arr,int n){int *front,*rear;int i;front=rear=arr+n;for(i=0;i<34;i++){ int j; scanf("%d",rear);getchar();if(i-N+1>=0) printf("已满!接下来将删除队尾
2023-03-04 17:39:10
290
原创 【C语言】指向不同数据类型的指针解引用后相加减(指向同一数组)
系统分出一块连续的内存,用于保存数组如果数组以横版形式排成连续(人为),从左向右依次增大a1a2a3,那么,其值16进制排版应该是从右向左的,即字节,10 00 00 00 20 00 00 00 30 00 00 00。根据以上内容,我们可以得出,Int与long long,相加或相减得出的值。Int为四个字节,long long为八个字节,Int* p1, long long* p2,P1=&a 3 ,p 2=&a1。根据printf所打印的格式不同,诸如%d,%x,%l
2023-02-14 15:49:08
234
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人