标签:算法
一、题目描述 Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techniques are seen as weak, and in order to avo
本文将主要以动图方式展示二叉搜索树的结构,以及动态操作;但是对于基本的概念和性质则不会有过多的提及,如果想系统了解建议查看邓俊辉老师的《数据结构》课程; 一、结构概述 二叉树:融合了向量的静态操作(二分查找)和列表的动态操作(插入和删除)的优点;使得树成了应用广泛的数据结构; 二叉搜索树:即顺序排列
这是悦乐书的第261次更新,第274篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第128题(顺位题号是559)。给定n-ary树,找到它的最大深度。最大深度是从根节点到最远叶节点的最长路径上的节点数。例如,给定一个3-ary树: 我们应该返回它的最大深度,即3。 注意
0 AES简介   我们知道数据加密标准(Data Encryption Standard: DES)的密钥长度是56比特,因此算法的理论安全强度是256。但二十世纪中后期正是计算机飞速发展的阶段,元器件制造工艺的进步使得计算机的处理能力越来越强,DES将不能提供足够的安全性。1997年1
题目描述 C 城将要举办一系列的赛车比赛。在比赛前,需要在城内修建 mm 条赛道。 C 城一共有 nn 个路口,这些路口编号为 1,2,…,n1,2,…,n,有 n-1n−1 条适合于修建赛道的双向通行的道路,每条道路连接着两个路口。其中,第 ii 条道路连接的两个路口编号为 a
1.优先级队列介绍 1.1 优先级队列   有时在调度任务时,我们会想要先处理优先级更高的任务。例如,对于同一个柜台,在决定队列中下一个服务的用户时,总是倾向于优先服务VIP用户,而让普通用户等待,即使普通的用户是先加入队列的。   优先级队列和普通的先进先出FIFO的
题目描述 假设 LeetCode 即将开始其 IPO。为了以更高的价格将股票卖给风险投资公司,LeetCode希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限,它只能在 IPO 之前完成最多 k 个不同的项目。帮助 LeetCode 设计完成最多 k 个不同项目后得到最大总资本的方式。
这是悦乐书的第262次更新,第275篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第129题(顺位题号是561)。给定一个2n个整数的数组,你的任务是将这些整数分组为n对整数,比如说(a1,b1),(a2,b2),...,(an,bn),找出每对(ai, bi)中最小值
总结一下目前的几种算法: 1:暴力求解:直接组合求解        for (int i = 0; i < array_length; i++)    {        for (int j = i ; j < array_length; j++)        { 
这是悦乐书的第263次更新,第276篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第130题(顺位题号是563)。给定二叉树,返回整棵树的倾斜度。树节点的倾斜被定义为所有左子树节点值的总和与所有右子树节点值的总和之间的绝对差。 空节点倾斜0。整棵树的倾斜度定义为所有节点
主要是二分法的时间复杂度的计算方法。 作业里能通过的代码如下: 1 Position BinarySearch(List L,ElementType X){ 2 int mid=0,l=1,r=(*L).Last; 3 mid
本文将主要讲解平衡二叉树中的 AVL 树,其中将重点讲解二叉树的重平衡方法,即左旋和右旋,以及 3+4 重构;这些方法都是后面要讲的 B 树,红黑树等 BBST 的重要基础;此外在看本文之前最好先看一下 二叉搜索树 ; 一、结构概述 前一篇博客里面讲了,二叉树同时具有向量的静态查找和列表的动态插入、
概念没有什么,主要记录一些有用的函数和计算方法 个人理解,数据结构是对数据对象的组织和操作。 前者涉及逻辑结构和物理结构,后者涉及算法。   1、时钟打点 clock():从main()开始到clock()被调用时所消耗的时钟打点总数; 常
  当一个软件遇到了性能瓶颈时,首要的改进是软件功能重构,适当删除可能拖垮系统的业务需求。客户对“实时”相当感兴趣,然而又有几个使用者能够真正清楚什么地方应该是实时的?这一点同样体现在其它行业,生厂商想要降低生产成本,相比于对供应商的原料压价,提高生产率、改进制作工艺、优化生产线是更好的办法。
这是悦乐书的第264次更新,第277篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第131题(顺位题号是566)。在MATLAB中,有一个非常有用的函数叫做'reshape',它可以将矩阵重新整形为一个不同大小的矩阵,但保留其原始数据。您将获得一个由二维数组表示的矩阵,
共三道,前两道就是前面的例题,这里记录第三道: 同样是求最大子列和,输出最大和和子列的首末元素。 如果出现相等的子列,输出i,j最小的;如果全是负数,输出0和数列的首末元素。 判断是否全负,是否元素总数为1,剩下的按照常规运算。 1 #inclu
在一个二维数组中(每个一维数组的长度相同),且数据每一行从左到右递增,从上到下递增。请编写一个函数,输入一个二维数组和一个整数,判断数组中是否有此整数。 分析:如果从左上角第一个数开始的话,往右和往下数都比它大,假设已给的数比它大的话,它不知道该从哪个方向搜索;若从左下角开始的