目录 数据结构-绪论数据结构基本概念与术语 数据结构三要素 算法基本概念 效率度量 经典习题 数据结构-绪论 数据结构 基本概念与术语 数据 能被计算机处理的符号的集合。 数据元素 数据的基本单位,比如一个学生的所有记录。 数据对象 相同性质的数据元素的集合,如整数数据对象就是所有整数的集
一、树的概念   在计算机领域中,树是一种很常见的数据结构之一,这是一种非线性的数据结构。相关的概念较多,在此就不一一介绍了。 二、二叉树   (1)二叉树的定义     二叉树是指每个节点最多有两个子树的有序树,通常将其子树的根分别称作“左子树”和“右子树”(Right Subtree)。    
题意 题目链接 给出(m)个长度为(n)的排列,问有多少连续公共子串 (m leqslant 10, n leqslant 10^5) Sol 非常naive的一道题然而交了3遍才过(昨晚真的困得不行。。) 枚举第一个串的位置,直接维护10个指针,分别表示每个串与第一个串匹配到的位置,同时记录出已经
题目 给定两个单链表,查找这两个单链表的第一个交叉节点。 例如:链表list_a为:a1→a2→c1→c2→c3,链表list_b为:b1→b2→b3→c1→c2→c3。那么它们第一个交叉结点为c1。 解析 如果两个链表有交叉结点的话,那么交叉节点之后的其他节点都是相同的,即两个链表的结构是Y字
昨天准备学完图相关的知识,但是学起来挺懵的,理解起来不难,但自己一回想,又什么都想不起来。 翻来覆去看图的遍历,还是觉得有点没到位。 所以做题来检测一下,果然学和自己做是两码事。 先看的书,又看的柳婼的代码。思路一样。 自己照着打了一遍,又自己实现了一遍,总体并不难,关键就是三十分的题,要花多点时间
故障诊断方法 装备大数据特点:数据量大、数据多样性、故障类型复杂多样 基于深度学习的诊断方法原理与流程 参考文献 [1] 鞠建波, 胡胜林, 祝超,等. 基于深度学习的装备故障诊断方法[J]. 电光与控制, 2018, 25(2):103-106. Deep learning based met
1.线性结构的基本特征:线性结构是一个数据元素的有序集。 (1)集合中必定存在一个唯一的“第一元素” (2)集合中必定存在一个唯一的“最后元素” (3)除最后一个元素外,集合中的元素均有唯一的前驱元素 (4)除最后一个元素外,集合中的元素均有唯一的后继元素 2.抽象数据类型(ADT)线性表的定义如下
这是悦乐书的第155次更新,第157篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第14题(顺位题号是58)。给定一个字符串,包含戴尔字母、小写字母和空格,返回最后一个单词的长度,如果最后一个单词不存在则返回0。另外,单词不包含空格。例如: 输入: "Hello W
一、栈的定义   栈是一种特殊的线性表,允许在同一端进行插入和删除操作,遵循“先进后出”的原则。   栈的基本操作:入栈(Push)、出栈(Pop)。 二、栈的分类   栈可以分为:顺序栈和链栈。   (1)顺序栈   顺序栈是栈的顺序存储结构的简称,它是一个运算受限的顺序表。   使用C语言定义顺
一、队列的概念   队列是一种特殊的线性表,严格按照“先进先出”的原则。 二、队列基础   队列和栈一样只允许在断点处插入和删除元素,其基本操作包括以下:   (1)InitQueue(&Q);    //初始化一个空队列   (2)DestroyQueue(&Q);   //清空队
算法描述 汉诺塔问题 如下图所示,从左到右有A、B、C三根柱子,其中A柱子上面有从小叠到大的n个圆盘,现要求将A柱子上的圆盘移到C柱子上去,期间只有一个原则:一次只能移到一个盘子且大盘子不能在小盘子上面,求移动的步骤和移动的次数 算法思路 1个盘的时候,只需要移动1次即可达成目标,g(
算法描述 猴子吃桃 有n个桃子,猴子第一天吃了一半,觉得不过瘾,又多吃了一个,第二天把剩下的桃子吃了一半,又多吃了一个,到第十天的时候,恰好剩下了1个桃子,求n 算法思路 这里采用递推的思路,从后面往前推即可 n-n/2-1=1 化简可得 n= (i + 1 )*2 i开始为1 题目是十天,
堆排序(Heap Sort) 堆是一棵具有以下性质的完全二叉树: 大顶堆:每个结点的值都大于或等于其左右孩子结点的值 小顶堆:每个结点的值都小于或等于其左右孩子结点的值 堆排序的主要思想: 将待排序列构造成一个大顶堆,此时堆顶元素就是整个序列的最大值,将堆顶元素与堆数组的末尾元素进行交换。然后将剩
服务端性能的架构设计与调优网卡多队列绑定CPU ------------------------------------------------------------------今天先到这儿,希望对您技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用
这是悦乐书的第154次更新,第156篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第13题(顺位题号是53)。给定一个整数数组nums,找出一个最大和,此和是由数组中索引连续的元素组成,至少包含一个元素。例如: 输入:[-2, 1, -3, 4, -1, 2, 1,
算法描述 币种统计 单位给每一位员工发工资(精确到元),为了保证不临时换零钱,使得每个员工取款的张数最少,在取工资前统计所有员工所需要的各种票面的张数(约定票种为100,50,20,10,5,2,1元),并验证币种统计是否正确 算法思路 算法描述其实是省略了要求,用户肯定是要输入员工数以及各
前言         快速排序相对于插入排序、冒泡排序等排序算法稳定性不高。但快速排序目前来说是基于比较的内部排序中被认为是最好的算法,当N较大且元素为随机分布时,快速排序平均速度最快。在算法竞赛中处理较大且元素较随机的序列时,用冒泡和插入排序很可能会超时,比如N=100000,则时间会&

推荐文章