随笔分类 - 算法
摘要:首先了解什么是二叉查找树:给定n个互异的关键字组成的序列s=<k1,k2,…,kn>,且关键字有序(k1<k2<…<kn),我们想从这些关键字中构造一棵二叉查找树。对每个关键字ki,一次搜索搜索到的概率为pi。可能有一些搜索的值不在K内,因此还有n+1个“虚拟键”d0,d1,…,dn,他们代表不在K
阅读全文
摘要:题目描述 定义哈希函数为H(key) = key%11。输入表长(大于、等于11),输入关键字集合,用二次探测再散列构建哈希表,并查找给定关键字。 输入 测试次数t 每组测试数据格式如下: 哈希表长m、关键字个数n n个关键字 查找次数k k个待查关键字 输出 对每组测试数据,输出以下信息: 构造的
阅读全文
摘要:对带权有向图可用 v1可以从v0开始写,都可以 如下图 填好表格 将第一行和第一列填入下一个表,判断第一行或第一列有无穷的,则这个元素的列或行的值填原来的,同时对角线填原理的值,如上图 在看空的值,给他画一个十字。若这个空位的值前一个表格原来的值比从这个元素画十字与红字相交的两个元素之和要大,则填入
阅读全文
摘要:题目 求1到n的整数中,任取k个元素的所有组合 例子 Input: n = 4, k = 2Output:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],] 代码 #include<iostream> using namespace std; int sum[1
阅读全文
摘要:问题描述 设有n个活动的集合E={1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si <fi 。如果选择了活动i,则它在半开时间区间[si, fi)内占用资源。 若区间[s
阅读全文
摘要:二叉搜索树 是一棵空树或者满足以下的性质: 每个结点作为搜索对象,它的关键字是互不相同的。对于树上的所有结点,如果它有左子树,那么左子树上所有结点的关键字都小于该结点的关键字。对于树上的所有结点,如果它有右子树,那么右子树上所有结点的关键字都大于该结点的关键字。 搜索过程: 从根结点开始,如果根为空
阅读全文
摘要:问题描述 n个作业 N={1,2,…,n}要在2台机器M1和M2组成的流水线上完成加工。每个作业须先在M1上加工,然后在M2上加工。M1和M2加工作业 i 所需的时间分别为 ai 和bi,每台机器同一时间最多只能执行一个作业。 思路 流水作业调度问题要求确定这n个作业的最优加工顺序,使得所有作业在两
阅读全文
摘要:关系图表 数组中的子数组、子序列、子段以及字符串的子串、子序列解释 类型 名称 连续性 数组 子数组 连续 子段 连续 子序列 不一定连续 字符串 子串 连续 子序列 不一定连续 数组,段和串都是连续的。序列是可断开的。 数组 1.子数组 子数组的定义:一个或连续多个数组中的元素组成一个子数组(子数
阅读全文
摘要:老生常谈序列和串的区别 最长公共子序列和最长公共子串区别 最长公共子串(Longest Common Substring)与最长公共子序列(Longest Common Subsequence)的区别: 子串要求在原字符串中是连续的,而子序列则只需保持相对顺序一致,并不要求连续。 子串和子段,都要求
阅读全文
摘要:超好用的算法模拟网站 https://alchemist-al.com/ 各种算法手动步骤模拟
阅读全文
摘要:最长公共子序列和最长公共子串区别 最长公共子串(Longest Common Substring)与最长公共子序列(Longest Common Subsequence)的区别: 子串要求在原字符串中是连续的,而子序列则只需保持相对顺序一致,并不要求连续。 例如 X = {a, Q, 1, 1};
阅读全文
摘要:最长公共子序列和最长公共子串区别 最长公共子串(Longest Common Substring)与最长公共子序列(Longest Common Subsequence)的区别: 子串要求在原字符串中是连续的,而子序列则只需保持相对顺序一致,并不要求连续。 例如 X = {a, Q, 1, 1};
阅读全文