数据结构
文章平均质量分 95
数据结构的一些概念和算法
是馄饨呀
我想,认真工作、相信生活的人,才会被世界温柔以待!
展开
-
【数据结构】二叉树
二叉树二叉树的性质二叉树的性质性质1:在二叉树的第i层上至多有2i-1个结点。性质2:深度为k的二叉树至多有2k-1个结点。性质3: 对于任何一棵二叉树,若2度的结点数有n2个,则叶子数n0必定为n2+1 (即n0=n2+1)。...原创 2021-02-18 23:00:05 · 1252 阅读 · 0 评论 -
【数据结构】单链表的插入和删除
…原创 2020-06-27 16:16:57 · 7423 阅读 · 5 评论 -
【数据结构】时间空间复杂度
复杂度时间复杂度分析算法时间复杂度的基本方法:空间复杂度时间复杂度算法中基本操作重复执行的次数可以用n的某个函数 f(n)表示,因此算法的时间量度记作 T(n) = O(f(n))它表示,随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称时间复杂度。若f(n)=amnm+am-1nm-1+…+a1n+a0是一个多项式,则T(n)=O(nm)。(没咋懂)在计算复杂度时,可以忽略所有低次幂项和最高次幂的系数,由此简化算法分析。分析算原创 2020-06-26 22:53:24 · 706 阅读 · 1 评论 -
【数据结构】基于栈的中缀算式表达式求值
基于栈的中缀算式表达式求值问题:要求:运行软件调试引用函数将字符串转换成浮点数atof函数:strtod函数:memset函数判断符号优先级表代码实现:问题:输入一个中缀算术表达式,求解表达式的值。运算符包括+、-、*、/、(、)、=,参加运算的数为double类型且为正数。(要求:直接针对中缀算术表达式进行计算,不能转换为后缀或前缀表达式再进行计算,只考虑二元运算即可。)要求:(1)创建名为kcsj12.cpp的文件,并编写程序实现指定功能;(2)输入:多组数据,每组数据一行,对应一个算术表达式原创 2020-06-15 20:47:19 · 5104 阅读 · 9 评论 -
【数据结构】二叉树遍历的实现
递归实现二叉树遍历算法思想(1)先序遍历:(2)中序遍历(3)后序遍历二叉树示意图先序遍历中序遍历后续遍历代码实现算法思想按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次。由于二叉树是非线性结构,因此,树的遍历实质上是将二叉树的各个结点转换成为一个线性序列来表示(1)先序遍历:访问根结点先序遍历左子树先序遍历右子树(2)中序遍历中序遍历左子树访问根节点中序遍历右子树(3)后序遍历二叉树后序遍历左子树后序遍历右子树访问根节点示意图先原创 2020-06-12 11:12:38 · 8247 阅读 · 0 评论 -
【数据结构】链表结构实现约瑟夫环
约瑟夫环问题什么是约瑟夫环问题来历问题解决思路代码什么是约瑟夫环约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”.)问题来历17世纪的法国数学家加斯帕在《数目的游戏问题》中讲了这样一个故事:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一圆圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环进行直到仅余15个人为止。问怎样排法,原创 2020-06-11 16:17:12 · 1960 阅读 · 5 评论 -
【数据结构】BF算法匹配主串中是否包含子串
BF算法匹配主串中是否包含子串算法思想:示意图代码实现算法思想:BF算法思想:将主串S中从pos位置开始和模式串T的第1个字符比较:若相等,则主串和模式指针i、j分别后移继续比较后续字符;若不相等,则主串指针回溯至本次开始比较位置的下一个位置(i=i-j+2),模式串指针回溯至第1个字符(j=1)开始比较;直至S中的一个连续字符序列与T相等,则匹配成功,函数返回值为S中从pos位置起与T匹配的子序列的第1个字符在S中的位置;否则,匹配失败,返回值为0。示意图代码实现#include原创 2020-06-09 08:51:08 · 1516 阅读 · 1 评论