
数据结构与算法
文章平均质量分 56
数据结构与算法
KimLinks
服务器Linux,嵌入式,STM32都略有涉及,希望可以一起学习进步!
展开
-
二叉树:前序遍历/中序遍历/后序遍历—代码实现
二叉树:前序遍历/中序遍历/后序遍历—代码实现说明搭配上一篇文章一起食用更佳: 二叉树的遍历_一看就会系列代码实现初始化二叉树函数:void BinaryTree(void)前序遍历函数:void TraverseTree_Preorder(struct BinaryTreeNode* root)中序遍历函数:void TraverseTree_Inorder(struct BinaryTreeNode* root)后序遍历函数:void TraverseTree_Postord原创 2022-05-30 06:34:50 · 329 阅读 · 0 评论 -
二叉树的遍历_一看就会系列
二叉树的遍历_一看就会系列遍历方法:先序遍历: 根节点、左节点、右节点(根左右)中序遍历: 左节点、根节点、右节点(左根右)后序遍历: 左节点、右节点、根节点(左右根)对于每一个结点的查看都是“先左后右”,注意:对象是每个子树。遍历操作:先序遍历:根左右=== 整棵树 ===根节点:【A】左节点:【B 子树】根节点:【B】左节点:NULL右节点:【C 子树】根节点:【C】左节点:【D】右节点:【E】右节点:【F 子树】根节原创 2022-05-30 05:44:22 · 193 阅读 · 0 评论 -
二叉树的基本概念
二叉树的基本概念二叉树的定义:N(N > 0)个节点的有限集合,由一个根节点以及两颗互不相交的、分别称为左子树和右子树的二叉树组成。二叉树的结构特点:每个节点最多只有两棵子树 ,不存在度大于2的节点(1 : 2);左子树和右子树次序不能颠倒(有序树)二叉树的分类满二叉树一颗深度为k,且有 2k-1个节点的二叉树完全二叉树除最后一层外,每一层上的节点数均达到最大值,在最后一层上只缺少右边的若干接点。一个满二叉树一定是一个完全二叉树,但是一个完全二叉树不一定是满二叉树。二叉原创 2022-05-30 05:13:39 · 274 阅读 · 0 评论 -
树的基本概念
数据结构:树的基本概念原创 2022-05-30 04:32:02 · 198 阅读 · 0 评论 -
用两个栈实现队列 及 两个队列实现栈功能
前言最近笔试遇到这个问题,感觉蛮有意思的,分析看看实现一、问:用两个栈实现一个队列的功能,要求给出算法和思路示意图答:设2个栈A,B,初始化为空入队:将新元素push入栈A;出队:(1) 判断栈B是否为空;(2) 如果不为空,则将栈A中所有元素依次pop出并push到栈B;(3) 将栈B的栈顶元素pop出;说明:利用栈的两次先进后出实现队列的先进先出还是蛮有意思的。同时,这样实现的队列入队和出队的平摊复杂度都还是0(1)二、问:用两个队列实现一个栈的功能原创 2020-08-27 18:42:03 · 368 阅读 · 0 评论 -
算法学习:力扣:202.快乐数
题目:编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。如果 n 是快乐数就返回 True ;不是,则返回 False 。示例:输入:19输出:true解释:12 + 92 = 828...原创 2020-04-30 22:19:59 · 310 阅读 · 0 评论