- 博客(14)
- 收藏
- 关注
原创 最大点问题
这是一个经典的二维“最大点”或“支配关系”问题,下面是完整的解答:一个点 (xi,yi)(x_i, y_i)(xi,yi) 被支配,是指存在另一个点 (xj,yj)(x_j, y_j)(xj,yj),满足:我们要找出 所有不被支配的点,即最大点集合(Maximal Points)。按 x 坐标降序排序;从左往右扫描每个点,维护一个变量 ;如果当前点的 y 大于 ,就说明它不是被别人支配的最大点;更新 。⏱️ 时间复杂度分析:步骤时间复杂度排序O(nlogn)O(n \l
2025-05-10 20:55:12
1106
原创 P,NP , NP-hard问题
P类问题能很快找到答案(多项式时间内)的那些问题。NP问题不一定能快速找到答案,但如果有人告诉你答案,你能很快验证它对不对。NP-hard问题比 NP 问题还难。连验证一个解都不一定快,或者可以转化成其他 NP 问题的最难形式。类别解是否容易?验证是否容易?举例P容易容易排序、查最大值NP不一定容易Sudoku、背包问题NP-hard很难不一定简单多边形最短路径、TSP。
2025-05-10 19:33:00
690
原创 选通脉冲 | 消除竞争冒险现象
选通脉冲是一种控制信号,用于决定何时允许其他信号通过某个电路或触发器。它通常用于异步时序电路中,以控制数据的传输或计数器的状态更新。
2025-04-07 22:44:34
578
原创 二-五-十进制异步计数器74LS290详解
74LS290芯片通过不同的时钟输入信号切换二进制和五进制计数模式,其核心在于内部触发器组的结构差异和控制逻辑的配置。
2025-04-06 21:21:07
3839
原创 使能:EN、ET、EP
并行使能控制并行数据的加载或同步更新。数据在多个位上同时更新,通常用于“批量”操作。例子:并行加载寄存器、同步计数器中同时加载并行数据。串行使能控制串行数据传输或级联计数,即数据依次传输或逐位更新。数据在时钟脉冲的每个周期内逐位传输或产生进位,常用于移位寄存器、级联计数器。例子:在移位寄存器中决定是否允许下一位数据传输;在计数器中决定是否允许由低位计数器的溢出触发更高位计数器的计数。
2025-04-06 19:42:10
1334
原创 移位寄存器的应用——串并转换
PISO(并行输入串行输出)移位寄存器:✅一次性加载并行数据→ ✅逐位输出(一个时钟一个位)→ ✅ 实现串行发送。逐位接收串行数据,然后一次性输出并行数据。SIPO 移位寄存器: 逐位接收串行数据,在 N 个时钟周期后形成并行数据输出,实现串行转并行。先并行加载,再一位位输出。实现手段:用移位寄存器加一个load控制信号。是串口通信、FPGA 接口、电路控制中的常用结构。
2025-04-06 16:33:59
874
原创 快速排序 | Hoare 分区法
快速排序通过递归分区来实现排序。直观上就像是不断地找出一张“关键牌”,然后把牌分成“较小”和“较大”两部分,再对每部分重复这个过程。Hoare 分区法使用两个指针从两端向中间扫描,通过交换保证支点两边分别是小于和大于(或等于)支点的数。这个过程帮助快速排序在每一步将数组“切割”成两个部分。
2025-04-01 18:58:01
547
原创 插值查找(Interpolation Search)
这种方法利用了线性插值的思想,假定数组元素之间的间隔基本均匀,从而可以快速估计目标值的可能位置。这样相比于简单的二分查找总是取中点,插值查找可以更快地逼近目标,尤其在数据分布均匀的情况下。插值查找是一种改进版的二分查找,它的思想类似于人们在字典或电话簿中查找一个名字的方式。相较于二分查找总是折半取中,插值查找会根据值的分布情况自适应地选择查找点,从而可能减少查找次数。如果数组很大且数据分布均匀,插值查找可能更快。,如果数据分布不均(如指数级增长),插值查找的效果可能比二分查找更差。
2025-03-31 20:22:14
710
原创 this指针
本例中,this的类型是Sales_data * const ,Sales_data是非常量,意味着this不能绑定const常量,当一个const常量调用成员函数isbn()时,就不能使用this指针,也就不能获得this指向的成员函数isbn(),即调用失败。,不能绑定常量对象(参见[[Code/限定符const用法详解|限定符const用法详解]]–指针的类型必须与其所指对象的类型保持一致),不能在一个常量对象上调用非常量函数。即,const实际上是对* this指针类型的修改。
2024-09-17 11:14:56
647
原创 限定符const用法详解
离变量最近的说明了变量的性质----pi左边是const,说明pi是一个const对象,* 说明pi是一个常量指针,而const int 说明常量指针pi指向的对象是const int 类型的变量,即整型变量。(但是,两者必须为同一类型的变量,否则,编译器将在类型转换的过程中创建临时变量,就无法通过修改p2来控制b,而是控制临时变量)(但是,两者必须为同一类型的变量,否则,编译器将在类型转换的过程中创建临时变量,就无法通过修改p2来控制b,而是控制临时变量):表示被限定的对象一旦确定,就不能被修改。
2024-09-10 14:34:09
1671
1
原创 彻底弄懂++i&&i++
(a在arr[a++]结束(;b在arr[++b](arr[]前,++b后就自增了)(++a在表达式中使用前就+1了,a++要在表达式结束后(;i++ 先自增后赋值。++i 先赋值后自增。
2024-07-09 06:55:30
332
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅