算法和数据结构
烛火寻途
这个作者很懒,什么都没留下…
展开
-
Size Blanced Tree
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Size Blanced Tree介绍一、自平衡条件二、旋转操作三、旋转的触发四、代码介绍Size Blanced Tree 是平衡二叉树的一种。每个结点所在子树的结点个数不小于其兄弟的两个孩子所在子树的结点个数,并且在插入时才会触发平衡调整。它还可以用来求第k小元素一、自平衡条件对于每个结点 tt,同时满足size[right[t]]≥ max(size[left[left[t]]],size[right[left[t]]])原创 2020-11-07 18:41:55 · 141 阅读 · 0 评论 -
平衡二叉查找树
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档平衡二叉查找树介绍一、自平衡条件二、旋转操作三、旋转的触发介绍计算机科学发展至今,已经出现了若干种平衡二叉查找树,其中最先发明的是 AVL 树。所有平衡树基本由以下三个特征组成:1.自平衡条件2.旋转操作3.旋转的触发平衡树通过设置合理的自平衡条件,使得二叉排序树的查找、插入等操作的性能不至于退化到 O(n)O(n),并且在进行二叉排序树的查找、插入等操作时进行判断,如果满足其中某个旋转的触发条件,则进行对应的旋转操作。一原创 2020-11-06 20:18:35 · 265 阅读 · 0 评论 -
C语言顺序存储队列
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档C语言顺序存储队列一、什么是队列的顺序存储二、程序一、什么是队列的顺序存储1、队列是只允许在一端进行插入操作,另一端进行删除操作的线性表。2、使用数组来存取队列元素的结构叫队列的顺序存储结构。3、假设一个队列有n个元素,则顺序存储的队列需要建立一个大于n的数组,并把队列的所有元素存储在数组的前n个单元,数组下标为0的一端即为对头。(1)入队,就是在队尾追加一个元素,不需要移动任何元素,所以时间复杂度为O(1).(2)出队是在队原创 2020-10-25 17:01:36 · 247 阅读 · 0 评论 -
C语言链表
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档C语言链表一、pandas是什么?1.介绍2.具体思路二、程序1.代码2.运行结果一、pandas是什么?1.介绍链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。2.具体思路我们可以设计一个链表结构体,记录链表的头原创 2020-10-15 10:20:49 · 75 阅读 · 0 评论 -
C语言动态数组
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档C语言动态数组一、动态数组1.动态数组介绍1.具体思路二、程序1.代码1.运行结果一、动态数组1.动态数组介绍在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定。对于这种问题,用静态数组的办法很难解决。为了解决上述问题,C语言提供了一些内存管理函数,这些内存管理函数结合指针可以按需要动态地分配内存空间,来构建动态数组,也可把不再使用的空间回收待用,为有效地利用内存资源提供了手段。动态数组,是相原创 2020-10-15 10:08:18 · 672 阅读 · 0 评论 -
创建一个通用数组类模板文件
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档创建一个通用数组类模板文件一、创建.hpp文件二、深拷贝与浅拷贝三、代码一、创建.hpp文件二、深拷贝与浅拷贝浅拷贝:简单的赋值拷贝操作深拷贝:在堆区重新申请空间,进行拷贝操作如果只是对指针对象进行简单的赋值操作,那么两个指针会指向同一个堆区对象,可能会引发重复释放堆区空间的问题。解决办法是通过深拷贝,重新申请一个堆区空间并让指针指向他,将旧空间中的数据复制过来。三、代码#pragma once //防止文件重复编译#原创 2020-09-13 19:51:13 · 335 阅读 · 0 评论 -
C语言 逆波兰算法实现计算器(源码)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2020-08-24 20:28:37 · 2904 阅读 · 2 评论