CS 36CWinter 2024 Homework 3

Synopsys 逻辑综合之 ICG 文章摘要: ICG(集成时钟门控单元)是一种用于降低时钟功耗的专用逻辑单元,通过控制时钟信号的传播实现节能。其核心原理是在寄存器前插入门控逻辑(如gclk=clk&en),但需避免直接使用AND门以防止毛刺,转而采用带锁存器的专用ICG单元。在RTL设计中,符合条件(如稳定使能信号)的if(en)结构可被综合工具(如DesignCompiler)自动识别并替换为ICG。使用时需配置时序检查(如PrimeTime分析使能路径、门控时钟延迟),并注意避免组合逻辑使能、多级门控等误区。ICG是芯片低功耗设 阅读详情

CS 36CWinter 2024 Homework 3:
SkipList and Sorting
This project has you writing an implementation of a SkipList (to do a key/value data store),
mergesort on linked lists, and quicksort on arrays. This assignment is due on Tuesday February
6th at 1400 PST (6:00 pm Davis time). You must work on this assignment individually. We have
provided you with a rich skeleton project in Homework3.zip available from Canvas which
includes a full Gradle and IntelliJ environment.
This time the Skeleton project actually includes all the tests used for grading, as a sufficient
number of students submitted photos for Cat Break.
Expected Project Outcomes

  1. Implement the major functionality of a SkipList, including the iterator (which produces
    pairs), setting, and getting elements.
  2. Implement mergesort for a LinkedList
  3. Implement quicksort for arrays
    Implementation and Grading
    You should implement the specified function in the three Kotlin files. These are:
  4. SkipListCell.makeNextArray(): Array<SkipListCell<K, V>?>
  5. SkipListIterator.computeNext(): Unit
  6. SkipList.set(): Unit
  7. SkipList.getNode(): SkipListCell<K, V>
  8. SkipList.contains(element: ): Boolean
  9. LinkedList.split(start: LinkedListCell) :
    Pair<LinkedListCell,LinkedListCell>
  10. LinkedList.mergeSortWith(comp: Comparator) : LinkedList
  11. Array.quickSortWith( comp: Comparator) : Array
    For grading on Gradescope you will submit SkipList.ks, LinkedList.ks, and
    ArraySorter.ks files.
    Wehave provided you with the comprehensive test suite used for grading, but you may add
    further tests if you desire and are encouraged to do so.
    The SkipList basic operations (insertion, fetching, and checking) should be O(log(n)) and the
    two sorts should be O(n log(n)) in all cases (in the case of QuickSort this means no pathological
    cases that are O(n2)). The test cases include the performance evaluation necessary.
SikuliX实战:5分钟搞定游戏挂机脚本(附防检测思路与Python集成技巧) 本文详细介绍了如何使用SikuliX快速开发游戏挂机脚本,包括环境配置、基础原理、防检测策略及Python集成技巧。通过实战案例展示如何实现自动化任务、高级防检测方案,并结合Python提升脚本性能与智能度,帮助玩家高效完成重复性游戏操作。 阅读详情

相关推荐

Qwen-Image LoRA训练实战:从数据准备到异常修复的全流程解析

本文详细解析了Qwen-Image LoRA训练的全流程,从数据准备到参数优化再到异常修复。通过实战案例展示了如何利用LoRA技术微调Qwen-Image模型,提升中文场景下的图像生成质量,特别针对手脚生成异常等问题提供了有效解决方案。文章还分享了中文提示词优化技巧和高级训练方法,帮助开发者高效训练出高质量的LoRA模型。

lemon的博客 967

给Agent写测试-工具调用的回归怎么保

本文提出“测行为不测文字”的三层测试防线,解决 Agent 工具调用回归难题:第一层工具单测(纯函数);第二层循环集成测,通过 mock 模型断言工具调用、参数与回填的正确性;第三层评测集,固定问答对对比行为快照。代码演示了最小可运行测试,强调断言行为而非模型输出,确保提示词改动可安全合并。

D_ENG_F的博客 211

MTK平台LCD驱动开发实战:从零开始点亮你的Android屏幕

本文详细介绍了在MTK平台进行Android LCD驱动开发的完整流程。从理解LK与Kernel双核驱动框架入手,手把手讲解驱动结构体、屏幕参数配置、初始化序列编写以及PLL_CLOCK计算等核心步骤,并提供了系统集成配置与实用的调试避坑指南,帮助开发者高效点亮新屏幕。

terraform7cloud的博客 292

Kotlin中级——Coroutine exceptions handling

当协程用作根协程时。

松仔Log的博客 224

YOLOv11 改进 - Mamba | 集成Mamba-YOLO(AAAI 2025),Mamba-YOLOv11-B 替换骨干,破解全局依赖建模难题,实现高效实时检测

本文介绍Mamba YOLO,为图片物体识别提供了“又快又准”的新方案。传统CNN架构运行快但难以捕捉远距离关联物体,Transformer架构精度高但计算量呈平方级增长,而SSM虽计算量为线性级且能抓全局关联,但用于图片识别时细节定位不准。为此,Mamba YOLO做了三项关键优化:引入ODMamba骨干网络,解决自注意力的二次复杂度问题,且无需预训练;设计ODMamba宏观结构确定最佳阶段比例和缩放大小;采用多分支结构的RG块建模通道维度,解决SSM在序列建模中的不足。在COCO数据集测试中,其小版本推

魔改工程师的博客 858

024、反激变换器的短路保护设计

本文详细探讨了反激变换器短路保护的设计要点与实践经验。作者通过实际案例分析了短路时反激拓扑的电流特性,指出初级峰值电流限制是最基础的保护手段,但需配合打嗝模式使用。文章重点剖析了打嗝模式设计的三个关键陷阱:频率设定、退出条件和软启动衔接。同时强调次级侧辅助保护、变压器参数优化、环路响应协调的重要性,并比较了自恢复与锁死方案的适用场景。最后提出实测验证的四个关键点和设计经验:不盲信芯片手册、保护电路独立设计、充分留有余量、进行破坏性测试。全文以工程实践为导向,为反激电源的可靠短路保护提供了系统性解决方案。

Jack010169的博客 242

Kotlin——Shared mutable state and concurrency

当使用多个协程操作变量,且未进行同步时,并不能得到正确的值。

松仔Log的博客 335

YOLOv11改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务

SPD-Conv是一种新的 CNN 构建模块,用于替代传统 CNN 架构中使用的步长卷积(strided convolution)和池化(pooling)层,它由空间到深度(Space-to-depth,SPD)层和非步长卷积(non - strided convolution)层组成。

Limiiiing的博客 4973

Android 开发入门实践(二):Kotlin 空安全,从可空类型到安全访问

延续 NewsApp 项目中的新闻标题练习,记录 Kotlin 安全调用。

Easyhood的博客 286

实战篇(七):使用Processing和PixelFlow库创建交互式流体太极动画

类:用于配置流体运动的参数,比如圆的位置、半径、运动的角度和速度以及颜色等。类:实现了接口,用于更新流体物理仿真的状态,同时整合声音输入作为流体动态变化的一部分。my_update方法:是流体物理仿真更新的核心,它计算流体粒子的速度和位置,并且将这些数据传递给流体库来模拟流动。现在,让我们进一步分析并解释每个部分的作用以及如何操作。float x;// 圆心位置xfloat y;// 圆心位置y// 半径// 是否是顺时针// 圆周运动,弧上的点位置,以及上一帧的点位置// 角度。

帅小柏的博客 1635

【人工智能之深度学习】12. BERT微调实战:医疗文本分类的领域自适应技巧与工业级实现

摘要:医疗文本分类是自然语言处理在医疗健康领域的核心应用,可辅助疾病诊断、病历结构化和医疗质量监控。然而,医疗文本的专业术语密集、实体关系复杂及数据长尾分布等特性,导致通用BERT模型性能受限。本文系统阐述医疗文本分类的领域自适应技术,从理论原理到工业级实现展开全流程讲解。首先分析医疗文本的独特属性及技术挑战;随后详解领域继续预训练、适配器微调、对抗训练等核心技术的数学原理;构建包含数据预处理、模型优化、隐私保护的完整实战架构;通过疾病分类、情感分析、事件检测三大案例验证技术有效性。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1005

Android 开发入门实践(五):从 Kotlin 类与对象到新闻数据模型

本文记录了在NewsApp项目中学习Kotlin类与对象的全过程:从声明空类、创建对象,到添加属性、使用构造函数与默认参数,最终通过data class和copy()实现新闻数据模型的构建。重点区分了类与对象、参数与属性的概念,掌握了修改原对象与复制新对象的区别,并将新闻列表接入Jetpack Compose显示标题,深化了对数据封装与可变性的理解。

Easyhood的博客 224

YOLOv8改进 | Conv篇:基于FasterBlock与C2f结构的二次创新,参数量下降70万【附保姆级代码】

通过引入FasterBlock二次创新C2f结构,我们成功地对YOLOv8模型进行了优化,显著降低了其参数量,并提升了推理速度,而精度保持不变甚至有所提升。该模型在多个实际应用场景中展现出了优异的性能,尤其是在嵌入式设备、移动端和自动驾驶等领域,具有广泛的应用潜力。未来的研究将进一步优化模型结构,探索更多的应用场景,为目标检测技术的发展做出贡献。

一键难忘的博客 3215

kotlin中闭包特性

Kotlin 闭包允许函数捕获并修改外部作用域的变量,通过 Ref 包装类实现,比 Java 的“仅读取 final 变量”更灵活。闭包是函数式编程(如柯里化、高阶函数)的基础,但修改捕获变量不保证线程安全,需手动同步(如 Mutex、Atomic)。Java 限制修改捕获变量以避免并发陷阱,而 Kotlin 将选择权交予开发者:语法自由,责任自担。

YB1375的专栏 215

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Kotlin中级——Select expression

select的onReceive允许从2个channel中获取值。

松仔Log的博客 260

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Gson + Kotlin 数据类的空安全陷阱:一次线上 NPE 崩溃的完整分析与修复

服务端返回 {"provinceName": null, ...}│▼Gson 反射赋值,绕过主构造函数和空检查│▼data.provinceName 实际是 null(但类型仍标记为非空 String)│▼主线程 lambda 拿着这个"假的非空值"传给非空参数│▼Intrinsics.checkNotNullParameter 抛出 NPE,主线程崩溃项目内容崩溃现象根本原因Gson 反射赋值绕过 Kotlin 构造函数与空检查,服务端返回显式null。

学习的最佳方式,就是把它写下来! 201

Kotlin与Java虚拟机四:函数

Kotlin 中函数是“一等公民”,使用 fun 声明,支持表达式函数体、默认参数、命名参数和可变参数(vararg)。函数可位于顶层(编译为静态方法)、局部或类中。无返回值时类型为 Unit,尾递归优化可避免栈溢出。本章还介绍了函数的灵活性与可读性提升特性,为后续高阶函数打下基础。

canfeit的专栏 177

Kotlin与Java虚拟机三:控制流

Kotlin 控制流以表达式为核心,if 和 when 均可返回值,取代了 Java 的语句形式。when 功能强大,支持多值、区间、类型判断及穷尽性检查,提升安全性。区间与 for 循环结合,简洁遍历集合;break/continue 可配合标签跳出嵌套循环。Lambda 中的 return 默认非局部返回,需用 return@标签 控制行为。整体设计更安全、简洁。

canfeit的专栏 345

Kotlin flow 详解

/ 接收launch {// 发送launch {可以看到创建SharedFlow时,没有像创建冷流flow一样传入一个block的函数参数。自然调用collect也没有可以重新运行的代码。

weixin_45444971的博客 223

Android 开发入门实践(四):Kotlin 列表的安全读取、增删改与筛选转换

本章学习Kotlin列表操作,重点掌握getOrNull安全取值、isEmpty/isNotEmpty判断空列表、MutableList可变性及add、remove、removeAt、替换元素等操作。通过日志验证,区分原列表修改与新列表创建,明确filter、map、find等函数返回类型与作用。强调下标越界处理、重复元素删除逻辑及val与可变性的关系,巩固列表操作的准确理解。

Easyhood的博客 166

Android 开发入门实践(三):理解 Kotlin 列表下标、size 与 lastIndex

Log . d(TAG , "最后一条新闻的下标: $ lastNewsIndex ")lastIndex的 I 大写,后面同样不加圆括号。变量名中的 N、I 都大写。它返回的是一个下标,不是最后一条新闻的文字,也不是新闻总数。表达式表示什么结果元素数量10最后一个下标9下标9对应的元素本文示例中是"第十条新闻"表格最后一行根据本文复习数据得出;前两行的10和9也与当时两节课的运行反馈一致。

Easyhood的博客 223

Go1.27升后Errorf指针%w怎么改

Go1.27起printf vet会报告用%w包装*E(E已实现error);应改传值型error,并用errors.Is/As回归验收。

Amax3747的博客 448

Android 开发入门实践(一):用 Kotlin 和 Jetpack Compose 实现新闻列表

以 NewsApp 新闻列表项目为例,记录 Kotlin 变量、条件判断、循环、函数和可空类型的基础练习,以及 Jetpack Compose 中列表、卡片、图片、图文布局与点击日志的实现过程。

Easyhood的博客 166

【维克】均值回归型CTA:期货的“弹簧效应“

老李犯的错,是把"涨多了"当成"过头了"。但螺纹钢从1600涨到3000,可能只是从"严重亏损"回到"合理利润",根本没过头。讲清楚商品期货的"弹簧"到底长什么样、用什么指标判断偏离、什么场景下均值回归有效,以及——开平仓和止损该怎么设计。当价格低,供给减少、需求增加,形成短缺,价格上涨。当某个品种库存处于历史高位,同时生产利润也很高(价格远高于成本),说明"供大于求 + 暴利",价格下行的压力很大。老李看空,理由是"涨太多了,肯定要跌"。因为均值回归的"诱惑"太大了——价格越偏离,你越觉得"该回归了"。

weixin_42332217的博客 477

中文提问搜不到英文文档:查询翻译、多语言向量与语言感知融合怎么选,用跨语言 Recall@10 和单语回归验收

把决策压成几条。语料是单语言的,这套东西一个都不需要装。跨语言检索的全部成本都在「查询语言和文档语言不一致」这个前提上。跨语言查询是长尾、且现有系统在同语言上已经不错的,先做 LID 加分语言词法索引,不要先上翻译。前者是确定性的结构改动,不引入模型调用,能立刻消掉「中文查询打英文 BM25 返回空」这个静默退化;翻译是第二步。领域术语密集的场景,词表不是可选项。没有词表的查询翻译在技术文档上大概率是负收益:它把查询变得通顺,同时把唯一能匹配上的标识符弄丢了。

争者留其名 180

Android 开发入门实践(十):用 Kotlin 协程完成模拟加载、取消与异常处理

本文记录第118—125课对NewsApp的协程改造:从viewModelScope.launch启动协程,逐步加入delay模拟等待、suspend函数封装、withContext(Dispatchers.IO)切换线程并观察上下文恢复机制。通过日志验证withContext完成后恢复原执行上下文(非自动回主线程),纠正了初始理解偏差。引入Job管理任务,实现加载取消与重复点击防护,结合异常处理与状态管理,完成可观察、可中断的异步流程。

Easyhood的博客 368

IntelliJ IDEA 下载安装:写 Java 和 Kotlin 主流的开发工具

IntelliJ IDEA 是写 Java 和 Kotlin 最主流的开发工具。代码补全准、跳转快、重构稳,报错能直接给出改法。——个人写 Java 项目、学习、做课程作业,都能用完整的一套。

科小怪的博客 151
上一篇: CS 36CWinter 2024 Homework 2
下一篇: COMP2402 W24Lab3Specifications
todcode
博客等级 码龄7年 359粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值