自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 笔记笔记笔记

【代码】笔记笔记笔记。

2024-04-20 21:39:09 274

原创 A+B with Binary Search Tree(pta)

第二种方法(正确的)思路:先对root2左根右遍历得到升序序列并存在数组B里,遍历完后B的下标ib正好在最后一个元素的位置,再对root1左根右升序遍历,同时对每一个结点的值T->val,先和a[ia]比较是否相等,再和B[ib]比较,如果二者的和大于target就ib--,B向前走,直到等于或者小于时即可跳出,若等于还要存储在a里。缺点:时间复杂度接机N^2,对于重复结点的判断没有必要专门遍历一遍a,完全可以直接和a[i-1]去比,因为按照升序序列遍历,相同的两个节点本身就连在一起。

2024-04-12 13:14:42 900

原创 Height of BST(pta)(数组模拟二叉树)

第一种思路:先序遍历根左右,我创建一个数组T,来存放BST,create函数实现一边建树一边计算高度,建树,先for循环找出比当前根大的第一个结点的下标作为ir,即右子树在preorder的起点,create的四个参数分别是:T-创建的BST,preorder-当前处理的子树的起点数组,n-当前处理子树的元素个数,ic-当前处理子树的根在T中存放的位置下标。但是算法走向差不多。第二种思路和第一种差不多,免去了创建T的过程,相对简单一点,也不用计算左右子树在T中的位置,还是顺着创建树的思路在走。

2024-04-09 15:16:30 190

原创 IsCBST(pta)

题目是英文,大概就是先把输入的数组变成二叉搜索树树,再判断是否是完全二叉树,并且把先序遍历的结果存在A里。这道题没有给树结构体所以用数组做,存储有点像堆,区别是这个。

2024-04-08 22:11:27 119

原创 二叉搜索树中的公共祖先pta

其中Tree的定义如下:Tree Left;Tree Right;函数LCA须返回树T中两个结点u和v的最近公共祖先结点的键值。若u或v不在树中,则应返回ERROR。

2024-04-07 22:11:34 278

原创 是否二叉搜索树pta

其中BinTree结构定义如下:函数IsBST须判断给定的T是否二叉搜索树,即满足如下定义的二叉树:定义:一个二叉搜索树是一棵二叉树,它可以为空。非空左子树的所有键值小于其根结点的键值。非空右子树的所有键值大于其根结点的键值。左、右子树都是二叉搜索树。如果T是二叉搜索树,则函数返回true,否则返回false。

2024-04-07 21:57:56 258

原创 单链表的分段逆转pta(超级简单简洁)

题目在最后面,先说思路,创建一个p和pre指向L的后一个结点(p是每次都先后走,便于a记录数据,而pre是每一小段的起点,集齐K个后,以pre为起点开始放数据),一个数组a用来记录当前一段的所有数据,每次先把p的数据放入a里面,然后i++;在后面判断i是否等于K,也就是是否集齐K个,及其即可逆转,若满足则将a中元素从i-1到0一个个放入pre->Data中,完成当前一段的逆转,这段代码巧妙在如果最后一段不满足K个,就不会逆转,省去了判断,超级简洁,测试点一把过。

2024-04-01 19:25:08 192

原创 二叉树的所有路径 sprintf函数 递归

通过这道题的引用,学习sprintf函数,以及DFS,巧妙地使用一个countpath数组(这里注意是整型,所有后面用了sprintf函数来存入元素)记录了每一条路,虽然每一次调用时该数组的名称是一样的,但是每条不同路径里(也就是T->left或者T->right)countpath都不一样,再在遇到叶子结点是,动态分配一块空间char类型的stor来从count path中读出该条路径的元素。,返回所有从根节点到叶子节点的路径。给你一个二叉树的根节点。是指没有子节点的节点。

2024-03-31 22:33:13 175 1

原创 图的邻接矩阵实现简易版(考试简易实现)

数据结构和图

2024-03-30 15:56:52 63

原创 1382.将二叉搜索树变平衡

思路:先用中序遍历一遍,由于二叉搜索树的特殊性,左根右得到的便是一个升序数组,所以不用排序即可直接递归加二分查找来创建树。这个递归记录二叉树结点的方法很nice,用一个记录数组下标的量int* pos,记录到数组int arr[]里,中值arr[mid]作为每一次的根。的二叉搜索树,新生成的树应该与原来的树有着相同的节点值。这不是唯一的正确答案,[3,1,4,null,2,null,null] 也是一个可行的构造方案。对比我的版本,我的是创建了一个完全二叉平衡搜索树。你一棵二叉搜索树,请你返回一棵。

2024-03-29 19:59:17 247

原创 树的同构(pta)

题目直接看陈越老师的视频p39;或者pta树的最后一题;实现:树由结构数组实现,一个结点里放了数据和左右结点的数组下标(left和right);

2024-03-27 23:03:03 163

原创 pta小孩报数(顺序循环队列)引发的对于指针和分配了空间的指针的思考(有该题答案两种)

(总之代码实现并不难,只是这两段代码让我思考了指针和分配了空间的指针使用上的区别,即代码一时分配了空间的指针,而二则只是纯用来指向空间的指针)分割线-------------------分割线------------------------分割线--------------------------分割线---------------分割线。//出队,返回出队元素e,且成功出队返回true,否则返回false;//出队,返回出队元素e,且成功出队返回true,否则返回false;否则返回false;

2024-03-19 14:33:28 344

空空如也

空空如也

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

TA关注的人

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