数据结构与算法
文章平均质量分 65
A_阿荒
这个作者很懒,什么都没留下…
展开
-
算法的时间复杂度和空间复杂度计算
1、时间复杂度(1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。(2)时间复杂度 在刚才提到的时间频度中,n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。但有时我们想知道它变化时呈现什么规原创 2021-11-28 22:50:42 · 295 阅读 · 0 评论 -
数据结构与算法详细解析 -----栈的详解
一、栈(stack)的概述定义:一种可以实现”先进后出”的存储结构,出栈pop,入栈push,栈是一种线性的数据结构,读取规则是先进后出。栈中的数据占用的内存空间的大小是确定的,便于代码执行时的入栈、出栈操作,并由系统自动分配和自动释放内存可以及时得到回收,相对于堆来说,更加容易管理内存空间。分类:静态栈、动态栈二、栈的应用场景:...原创 2021-11-14 23:48:14 · 700 阅读 · 0 评论 -
数据结构与算法详细解析之双链表结构解析
一、双向链表结构分析及其特点:双链表结构:双向链表中每一个Node节点含Data域及pre指针(指向上一个节点)、Next指针(指向下一个节点):特点:1)双向链表可以双向查找(向前或者向后查找),而单向链表只能沿着一个方向查找;2)双向链表可以进行自我删除,而单向链表需要temp节点才能进行删除;注:关于单链表节点解析及常见面试题分析见博客:https://blog.csdn.net/weixin_54513300/article/details/121308199?spm..原创 2021-11-14 18:59:59 · 292 阅读 · 0 评论 -
数据结构与算法详细解析之单链表结构(含常见面试题)
一、链表结构:链表是由N个Node节点构成,每个Node节点包括data域及next域,由Next域指向下一个Node节点对象;所以,链表这一结构特性决定了链表再内存中的数据不是连续存储的,数据分布在内存中的多个内存块中,下图为链表在内存结构中的示意图:二、链表分类:带头结点链表/与不带头结点链表,下图为带头结点链表结构示意图:注意:头结点不存储具体的数据,仅仅表示单链表的头结点;三、测试案例:创建链表,并向链表中存储水浒英雄1)创建HeroNode节点类,用以存储每个英雄及别名:原创 2021-11-13 19:40:27 · 1039 阅读 · 0 评论