![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 71
Ch.yang
try{ coding } catch { bug }
展开
-
【算法】求二叉排序树中第k小的结点的位置
假设二叉排序树中增设一个lsize域,其值为该结点的左子树中的节点数加1。其类型定义如下:typedef struct BiTNode { char data; // 题中没有读写这个数据,可以忽略 int lsize; struct BiTnode *lchild, *rchild;} BiTNode, *BiTree;算法f5求二叉排序树中第k小的结点的位置。BiTree f5(BiTree T, int k) { if (NULL == T) return NULL; if (T原创 2021-09-09 16:16:32 · 536 阅读 · 0 评论 -
【算法】后序遍历判断二叉树是否为平衡二叉树
1. 前言来自广工考研真题平衡二叉树是一种高级数据结构,是O(nlogn)搜索算法的基础数据结构拆解题目内容: 后序遍历求树高度 + 全局计数器 + 节点平衡定义 + 返回值语义确认实现方式:递归遍历 + 引用类型做全局计数器2. 读题“判断” 属于二叉树的遍历“是否” 则是遍历中需要做的具体操作“平衡” 来自于定义:任意节点左右子树高度差小于2 => |左子树高度 - 右子树高度| < 23. 梳理思路递归得让每个节点知道自己所在的高度,并向上报告,其双亲节点判断自原创 2021-09-09 11:31:07 · 383 阅读 · 0 评论 -
【工具】clion配置git,fork数据结构教科书源码并clone到本地
1. 下载地址clion官网git官网项目需要的工具链 cygwin官网源码github地址 严蔚敏 杨伟民 数据结构教程源码(代码作者:kangjianwei)域名ip地址查询(用于优化github访问速度)2. 安装及配置注意事项2.1 clion有30天试用,需要永久版本的可按需淘宝,推荐JetBrains的全家桶永久版2.3 git2.4 cygwin下载版本选 setup-x86_64.exe, 下载完成后是一个下载器,需要连远程服务器。注意在 Select Conn原创 2021-08-20 18:32:30 · 3111 阅读 · 0 评论 -
【C/C++】Java程序员理解C++方法签名中结构体指针的引用的作用
1. 前言本文先介绍C中的指针和引用的区别,再联系Java中舍弃指针,只用引用的使用场景进行理解。2. 使用的场景下题摘自广工考研真题:2.1 题目某仓库用一个带头节点的循环链表L存储各种货物的代码,链表的定义如下:看不懂链表定义点这里typedef struct Goods { int code; Goods *next;} Goods, *GoodsList;试写一个算法 void f(GoodsList L, GoodList &Lc, int c),将其中代码code大原创 2021-08-06 23:42:45 · 274 阅读 · 0 评论 -
【C/C++】C语言二维数组名与&、*的组合使用
前言本文是作者查阅资料后根据代码演练,得出的结论。结论仅用于知识点的关联总结。本文的 & 统一称为取地址操作,* 统一称为解引用。关于解引用,可参考:解引用的理解本文不再介绍二维数组与一维数组的关系1. 一个二维素组在内存中的结构int array[][3] = {{1,2,3},{4,5,6}};2. 数组名 & * 三者的组合用法会惊奇的发下,以下的表达式,都输出了同一个地址值int main() { int array[][3] = {{1,2,原创 2021-01-01 18:53:00 · 2314 阅读 · 0 评论 -
【C/C++】typedef 在结构体声明下的应用场景
1. 前言typedef用于减少代码冗余,定义稍复杂,使用就时就简单了。typedef使用在结构体声明中,增强结构体元素在数据结构中的语义不再介绍typedef用在普通数据类型下的场景2. 普通链表的结构体定义及使用2.1 普通链表定义struct Goods{ int code; struct Goods*next;};2.2 普通链表使用先介绍最基础的用法,文末将列出增强后的用法。// 创建商品链表的头指针,及第一个元素和第二个元素struct Goods *head,原创 2021-08-04 18:09:59 · 328 阅读 · 0 评论