自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ --- template

编译器也是这样,调非模版的不需要特化,也就是少做了一步事情,肯定是快一点也省事。这里是函数模版,通过这个模版可以实例化生成对应类型的函数,注意这里不是调的不是函数模 版哦,函数模版会在编译之前,先生成对应类型的函数,也就是真正调用的是Swap(int& x1, int& x2)和Swap(double& x1, double& x2)这两个函数,其实实际上还是两个函数,只不过这两个函数不用我们自己写,编译器会通过这个模版以及传过来的参数的类型去推导这个T的类型,然后实例化生成对应的函数。

2024-03-26 16:38:34 264

原创 OJ题—二叉树

一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。思路:分别递归左子树和右子树,计算左子树和右子树的深度后相减,必须保证所有分支的左子 树和右子树的高度差的绝对值都不超过1才是平衡二叉树,而不是只保证根节点的左子树和右子树 的高度差的绝对值不超过1,所以还得不断去递归遍历根结点分支出来的左子树和右子树。return 0;//三个递归式子只要其中一个为假,最后的结果就是假。

2024-02-19 17:05:37 412 1

原创 OJ题-栈和队列

循环队列就是首尾相接的队列。}QueueNode;}Queue;assert(pq);assert(pq);free(cur);cur = next;assert(pq);pq->size++;assert(!pq->size--;assert(pq);assert(!assert(pq);assert(!assert(pq);assert(!int n = 0;++n;

2024-02-19 11:27:42 409 2

原创 OJ题-链表

环形链表是一种特殊类型的链表数据结构,其最后一个节点的"下一个"指针指向链表中的某个节点,形成一个闭环。换句话说,链表的最后一个节点连接到了链表中的某个中间节点,而不是通常情况下连接到空指针(null)。随机链表也就是带随机指针random的节点//思路:建立两个链表的链接,通过原链表的random,也就是利用两个链表的连接关系,//找到复制后链表的random。比如复制后的13这个节点的random是原链表13的random的next那个节//点,也就是复制之后的7节点//建立两个链表的链接。

2024-02-19 10:49:31 1897 1

原创 顺序表和链表的优缺点

1. 支持随机访问。有些算法是需要结构支持随机访问的,比如二分查找法、优化的快排 等等。2. CPU高速缓存命中率更高。

2024-02-18 11:01:51 2049 1

原创 时间复杂度和空间复杂度

斐波那契递归数列Fib的空间复杂度:O(N),因为就第一条分支一直往下,虽然是每次分裂两个,但走第一条分支,就跟那个阶乘一样,然后一路走到最后那个Fib(1)后,Fib(N-2)在用Fib(N-1)这条路的空间,后面其他的分支也是类似,等Fib(N-2)用完,又提供给其他分支,所以是O(N),虽然之前用的空间销毁了,但你第二次使用的还是同块空间,不算额外的空间,至于少了一部分会提前结束的空间,你想他无论咋样都是比N少的,所以也是重复利用,不需要减去X的。假设查找的是w,O(N/2);

2024-02-18 10:41:26 1343 2

空空如也

空空如也

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

TA关注的人

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