
数据结构及其应用算法
文章平均质量分 88
狄利克雷的左极限
这个作者很懒,什么都没留下…
展开
-
算法分析·顺序统计学
基本思想: 类似RandomizedSelect算法,通过对输入数组进行递归划分来找出所求元素,但是算法保证每次对划分是个好划分。同时寻找最大/最小 值时,我们可以成对处理元素,比较当前两个元素,把较小者与最小值比较,较大者与最大值比较。我们采用分治策略,借鉴快速排序的随机划分法,对输入数组进行递归划分,但是只处理划分的一边。如果𝑛是偶数,总共做了3𝑛/2−2次比较。平均情况:假设第𝑖小的元素总是掉在较大的子问题中。个不同值构成的集合中,选择其第。小组中位数的中位数时,只在。个元素组成的集合中,第。原创 2025-04-22 02:19:13 · 949 阅读 · 0 评论 -
数据结构及其算法应用·线性表的基本概念 笔记5
线性结构:描述数据元素之间存在的一对一逻辑关系,即在非空有限数据集中,逻辑相邻数据元素之间存在的序偶关系。线性表:具有线性结构的同类数据元素构成的有限序列例如,如下数据数据元素姓名年龄a1张三11a2李四45\dots\dotsan老十七14就有如下线性表La1a2anLa1a2an①同构性:由同类数据元素组成,所有元素必须属于同一数据对象②有穷性:由有限数据元素组成,数据元素的个数n称为表长。原创 2023-09-11 12:00:41 · 152 阅读 · 0 评论 -
数据结构及其算法应用·算法设计策略——笔记4
与分治法类似,所不同在于适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的,即存在重叠子问题,动态规划借助状态表记录和查找子问题的解,从而避免重叠子问题的重复求解,提高效率。把原问题分成若干规模较小、相互独立且形式相同的子问题,然后递归地对子问题求解,再将子问题的解进行加工合并,得到原问题的解。将原问题分解为若干规模较小、形式相同的子问题,然后分阶段迭代选择每个子问题的局部最优解,再将子问题的解合并获得原问题的解。③输入[4,-3,5,-2,-1,2,6,-2],输出11。原创 2023-09-07 13:38:36 · 165 阅读 · 0 评论 -
数据结构及应用算法·算法设计与分析——笔记3
设计出算法后,需要对算法的性能进行评估,于是,我们引入算法分析及其相关概念。T3(n):循环语句,执行频次n*(n+1)/2次。T4(n):赋值语句,执行频次n*(n+1)/2次。T1(n):循环语句O(k) (k未知)个正常数M,即:存在正常数N和M,使得当。基本操作的总执行频次为:T(n)=n。T1(n):赋值语句,执行频次1次。T2(n):循环语句,执行频次n次。在渐近算法分析中,我们一般使用“大。T1(n):循环语句O(n)T2(n):循环语句O(n)T3(n):赋值语句O(1)原创 2023-09-07 12:02:21 · 116 阅读 · 0 评论 -
数据结构及应用算·数据结构的基础概念——笔记1
即,数据结构由“数据对象”及“数据对象所包含的数据元素间的相互关系”两部分组成。例如,在如下表格中,单个格子是一个数据项,而一整行可视为一个数据元素。数据结构是较为抽象的概念,其具体实现依赖于物理硬件。例如,下图为两种不同的存储结构。原创 2023-09-04 17:27:37 · 131 阅读 · 1 评论