Jerry @DOA&INPAC, SJTU

Working out everything from the first principles.

导航

统计

随笔分类 -  数据结构与算法

1

C++是学习数据结构与算法的最好的语言,模板、多态等特性都可以应用
C++值元编程
摘要:从整数划分问题到C++值元编程——constexpr、模板与函数式。 阅读全文

posted @ 2020-06-15 20:03 Jerry_SJTU 阅读(772) 评论(0) 推荐(0) 编辑

编译原理词法分析:从正则表达式到生成代码
摘要:引言 最近在学编译原理,一门理论与实践结合的课程,我把作业发到博客里,希望能与大家交流分享。 词法分析一章有一道比较复杂的作业题如下: 本题是一个编程问题,在本题目中,你将完整的实现Thompson算法、子集构造算法和Hopcroft算法。为了帮助你开始,请下载如下链接中的代码并根据代码运行时的提示 阅读全文

posted @ 2020-05-06 23:16 Jerry_SJTU 阅读(2591) 评论(0) 推荐(1) 编辑

测量C++程序运行时间
摘要:有个很奇怪的现象,我自认为写得好的文章阅读量只有一百多,随手写的却有一千多——要么是胡搞,要么是比较浅显。纵观博客园里众多阅读过万的文章,若非绝世之作,则必为介绍入门级知识的短文。为了让我的十八线博客上升到十七线,我打算写几篇短文。当然,短不等于随便,不等于不负责任。客观的,要有确凿的依据,代码必须 阅读全文

posted @ 2020-04-17 23:12 Jerry_SJTU 阅读(4011) 评论(0) 推荐(8) 编辑

AVR单片机教程——示波器
摘要:本文隶属于AVR单片机教程系列。 在用DAC做了一个稍大的项目之后,我们来拿ADC开开刀。在本讲中,我们将了解0.96寸OLED屏,移植著名的U8g2库到我们的开发板上,学习在屏幕上画直线的算法,编写一个示波器程序,使用EEPROM加入人性化功能,最后利用示波器观察555定时器、放大电路、波形变换电 阅读全文

posted @ 2020-02-25 23:13 Jerry_SJTU 阅读(2935) 评论(0) 推荐(3) 编辑

玩玩24点(中)
摘要:《玩玩24点》系列: "上篇" "中篇" 下篇 序 在上篇中,我用上位机程序遍历了4个1~13的数的1820种组合,通过递归穷举计算出其中1362组的24点接法,并转换为二进制形式,放到单片机程序中,减少了单片机24点游戏程序的计算量,获得了不错的游戏体验。 上篇的最后留了一个疯狂暗示,但时至如今我 阅读全文

posted @ 2020-01-16 00:59 Jerry_SJTU 阅读(555) 评论(0) 推荐(1) 编辑

玩玩24点(上)
摘要:《玩玩24点》系列: 上篇 中篇 下篇 最近班里开始玩24点了。起因是一个在计算器上两人比赛24点的程序,但计算器判断一组数据是否有解需要15秒,于是这个程序就没有判定有解这一功能。 这么慢的速度我当然看不下去,但去优化那个BASIC程序是不可能的,我就开始写自己的24点程序。正好之前的算法课中递归 阅读全文

posted @ 2019-10-15 00:48 Jerry_SJTU 阅读(438) 评论(0) 推荐(0) 编辑

算法基础课程总结
摘要:程序设计与算法(二)算法基础,讲授基本的算法。前置课程为程序设计入门,后续是C++ OOP,夹在中间的这门课难度不高,使用的工具也比较基础,这让PAT甲级满分的我在听课时甚至有些尴尬。不过好在课程中使用的都是C++语言,相较于之前学的数据结构课程,这一点让我无比舒适。 “本课程中一部分的例题,难度与 阅读全文

posted @ 2019-10-10 22:00 Jerry_SJTU 阅读(922) 评论(0) 推荐(0) 编辑

希尔排序的正确性 (Correctness of ShellSort)
摘要:希尔排序的正确性 阅读全文

posted @ 2019-09-09 22:29 Jerry_SJTU 阅读(1013) 评论(0) 推荐(2) 编辑

PAT甲级满分有感
摘要:PAT甲级满分有感 阅读全文

posted @ 2019-09-08 22:26 Jerry_SJTU 阅读(3835) 评论(0) 推荐(2) 编辑

PAT甲级题分类汇编——杂项
摘要:PAT甲级题分类汇编——杂项 阅读全文

posted @ 2019-09-04 23:36 Jerry_SJTU 阅读(401) 评论(0) 推荐(0) 编辑

PAT甲级题分类汇编——图
摘要:PAT甲级题分类汇编——图 阅读全文

posted @ 2019-09-04 01:05 Jerry_SJTU 阅读(510) 评论(0) 推荐(0) 编辑

PAT甲级题分类汇编——树
摘要:PAT甲级题分类汇编——树 阅读全文

posted @ 2019-09-03 02:26 Jerry_SJTU 阅读(415) 评论(0) 推荐(1) 编辑

PAT甲级题分类汇编——理论
摘要:PAT甲级题分类汇编——理论 阅读全文

posted @ 2019-09-02 23:05 Jerry_SJTU 阅读(502) 评论(0) 推荐(0) 编辑

PAT甲级题分类汇编——排序
摘要:PAT甲级题分类汇编——排序 阅读全文

posted @ 2019-09-01 23:47 Jerry_SJTU 阅读(592) 评论(0) 推荐(1) 编辑

PAT甲级题分类汇编——计算
摘要:PAT甲级题分类汇编——计算 阅读全文

posted @ 2019-08-13 12:15 Jerry_SJTU 阅读(532) 评论(0) 推荐(0) 编辑

PAT甲级题分类汇编——线性
摘要:PAT甲级题分类汇编——线性 阅读全文

posted @ 2019-08-10 17:52 Jerry_SJTU 阅读(490) 评论(0) 推荐(0) 编辑

PAT甲级题分类汇编——序言
摘要:分类整理PAT甲级题目中1051~1100部分。共10类:计算、线性、理论、集合、树、图、排序、散列、数学、算法。实现语言为modern C++。 阅读全文

posted @ 2019-07-25 11:11 Jerry_SJTU 阅读(1330) 评论(0) 推荐(1) 编辑

1010 Radix:猥琐的测试数据
摘要:谨以此题纪念边界测试数据浪费了我多少时间:https://pintia.cn/problem-sets/994805342720868352/problems/994805507225665536 阅读全文

posted @ 2019-07-14 11:01 Jerry_SJTU 阅读(524) 评论(0) 推荐(1) 编辑

Dijkstra算法与堆(C++)
摘要:在Dijkstra算法中利用堆来快速查找距离最小的顶点,时间复杂度为O(|E|log|V|) 阅读全文

posted @ 2019-07-13 12:52 Jerry_SJTU 阅读(1145) 评论(0) 推荐(0) 编辑

基数排序的可复用实现(C++11/14/17/20)
摘要:利用C++11/14/17/20的特性,实现一个优雅的、可复用的基数排序函数以及相应的辅助类 阅读全文

posted @ 2019-07-09 16:12 Jerry_SJTU 阅读(718) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示