课堂上的《编程之美》

构造数独和解数独 数独,俗称九宫格,由一个9×9的网格组成,整个网格又分成9个3×3的小正方形网格,每个格子有一个数字(1~9),数独满足如下要求: (1)每个数字在每一行只出现一次 (2)每个数字在每一列只出现一次 (3)每个数字在每个3×3的小区域中也只出现一次 如下图所示,为我们比较常见的数独形式,为一个缺了数字的数独,现在要求我们把其补充为一个完整的数独。 其实,构造数独和解数独的步骤差不 阅读详情

摘自:http://book.douban.com/review/3254167/
本文作者(西安邮电谢勰老师)的博客地址:http://blog.youkuaiyun.com/xiexiexx 

         手里拿的是《编程之美》的一刷,是刚上市的时候买的,一直没顾得上看。觉得给学生当参考书看很不错,读了一些,发现在课堂上可以用,而且效果不错。
   有实例,有抽象,这样讲的效果可能非常不错。
  
  
   下面给出一些小小的评注,仅是抛砖引玉。
  
   1.1 让CPU占用率曲线听你指挥
   理论结合实践,非常好的一道的问题,是不是可以考虑能实现内存使用曲线呢?
  
   1.15 构造数独
   4.9 数独知多少
   可以考虑数独的求解,参考一下Dancing Links。
  
   2.1 求二进制数中1的个数
   Milo说了一些拓展:http://book.douban.com/review/3010762/
  
   2.3 寻找发帖“水王”
   这个问题是Majority问题(过半数),在Voting时比较有用,可以参考Udi Manber的Introduction to Algorithms: A Creative Approach,是一种归纳的思路。
  
   2.4 1的数目
   考虑大整数(用字符串表示)情况下的解法。
  
   2.5 寻找最大的K个数
   这道问题有Linear Selection算法。当然还可以推广到MultiSelection问题。此外,对于在外存中的海量数据,又应该如何考虑?
  
   2.10 寻找数组中的最大值和最小值
   考虑此问题的Lower Bound。
  
   2.12 快速寻找满足条件的两个数
   我最早在CLRS上见过此题。关键是解法三的证明,思路清楚了,理解起来也就方便了。
  
   2.17 数组循环移位
   这个问题有一个比较复杂的解法,就是利用“就地置换”(In-place Permutation)来做。当然,根据《编程珠玑》上的说法,要思路清晰,不要太复杂。
  
   3.2 电话号码对应英语单词
   讲点trie就更好不过了。
  
   3.4 从无头单链表中删除节点
   我个人认为这是一道“屠龙”题。
  
   3.10 分层遍历二叉树
   在讲树的层序遍历时候可以用。一般采用BFS的标准思路,即利用队列来完成。此问题还可以用于求解决杨辉三角。《编程之美》给出了多种思路,要是这样再总结一下,学生对此问题应该非常清楚了。
  
   4.6 桶中取黑白球
   经典的咖啡罐问题,可以考虑一般情况,是理解循环不变量的一个非常好的例子。
  
   一直以来,我总希望能够有一个wiki性质的网站,能够对许多编程问题给出非常深入的解析,给出广泛的参考文献。比如说,目前有许多ICPC的试题,但都没有一个公开的平台来讨论问题。其实有的问题说出来引发更多的讨论,更有利于学习和提高。特别是有一些看上去非常不起眼的题目,可能有非常优美的解决思路,但人们常常就把它忽略了。这也是学术讨论存在的理由。
   也许,《编程之美》可以作为其发轫。

——————————————
《编程之美》,IT
人求职面试必读

《编程之美》豆瓣主页
《编程之美》互动网购买链接

关于RT-Thread中PWM无法正常输出的学习 按照官方的PWM配置,并没有输出PWM,网上有比较多的办法,试了很多,有些还是不能实现输出,这里做个记录。记录自己完成PWM输出的过程,以及修改的地方。 关于STM32CubeMX配置就不多说了,网上有很多。 首先必定是按照流程来,一定一定按照流程来!!! 需要注意的是加上通道数!!!! 这是流程上没有的,也是RTT的一点小BUG吧 配上board.c中添加的代码,我用的是PA2定时2的通道3,需要使用的朋友修改对应定时器和GPIO! void HAL_TIM_Base_MspInit(TIM_Han 阅读详情

相关推荐

【Unity】Unity性能分析解决方案——UPR

由Unity中国团队提供的一套性能优化解决方案,其是一系列性能工具的集合,并可将收集的数据进行可视化。

Davidorzs的博客 1008

编程之美:第一章 1.15构造数独

/* 构造数独: 数独的棋盘是由九九八十一个小方格组成的。玩家在每个小格子中,分别天上1至9的任意一个数字,让整个棋盘每一行,每一列,以及每一个3*3的小矩阵中的数字都不 重复。 使用一个二维数组来存储,每一个元素对应数独中的一个数。但考虑到每一个格子有若干属性,可以把每个格子抽象为一个对象,把整体看成9*9个格子对象 生成游戏初始局面:可以向生成一个完整合法的解,然后再随机地去掉一些数

qingyuanluofeng的专栏 1372

从零到一:如何用YOLOv8和PyQt5打造你的第一个花卉识别桌面应用

本文详细介绍了如何使用YOLOv8和PyQt5从零开始构建一个花卉识别桌面应用。涵盖环境搭建、数据准备、模型训练、界面设计、模型集成与性能优化等全流程,帮助开发者快速掌握深度学习目标识别技术的实际应用。

weixin_29048775的博客 454

编程之美...构造数独

  我用了《编程之美》1.15节的第二种方法,也就是用矩阵行交换和列交换,这个方法的优点就是速度很快,缺点就是只能构造9!种,离所有合法数独总数差的很远。  自我感觉我实现的还不错,构造9*9的数独,我只用了3*3的基本九宫格和3*3的变换数组,省了7/9的空间。  关于书上提到的第一种用DFS的方法,我觉得用来求解数独倒不错,我打算有空写个求解数独的程序。CODE

meiyuli的专栏 2651

Qt图形视图框架实战:QGraphicsScene、QGraphicsView与QGraphicsItem的深度应用

本文深入解析Qt图形视图框架的核心组件QGraphicsScene、QGraphicsView与QGraphicsItem的实战应用。通过“舞台、镜头与演员”的比喻,清晰阐述了三者的协作关系,并详细介绍了场景管理、多视图同步、交互增强、自定义图形项绘制与性能优化等高级技巧,帮助开发者高效构建复杂的交互式图形界面。

weixin_29251337的博客 263

ROS基础(一)——命令行代码(以小乌龟程序为例)

ROS学习(一)——命令行代码(以小乌龟程序为例)1 基础命令行语句1.1 roscore1.2 rqt_graph(显示系统计算图)1.3 rosnode(显示所有节点相关信息)1.4 rostopic(和话题相关)2 服务类型指令rosservice同时存在两只海龟3 指令记录 1 基础命令行语句 从大二四旋翼无人机编队后就没再接触过ROS了,最近由于科研任务需要重新捡起来,打算系统学一下!学习过程参考古月居老师的视频,有兴趣的同学可以去[BliBli]学习。 学习平台:Ubuntu 18.04 硬件

北理自动化小白 6266

关于《编程之美》中构造数独问题的小结

数独是一个很有意思的游戏,我以前玩过很多次,但一直没想过自己写一个。 读《编程之美》在构造数独这一小节中,书中给我们两个算法,这两个算法都是用来初步生成一张初始的数独图。  回溯法和置换法。 对于第二个置换法,真的是超级简单,我看的时候简直惊呆了,还有这种操作,能这么简单。 简单讲一些两个算法: 回溯法:从第一个格子开始,在1-9数字中找一个合适放进去,然后下一个格子,再从1-9找合适的

懒懒怪先生的博客 944

在Kintex-7 FPGA上实现皮秒级时间测量:手把手教你搭建CARRY4进位链TDC(附源码与约束)

本文详细介绍了在Kintex-7 FPGA上利用CARRY4进位链实现皮秒级时间测量(TDC)的完整方案。从CARRY4的物理特性分析到硬件架构设计,再到校准方法与精度提升技巧,手把手教你构建测量精度达53ps的TDC系统,并附源码与约束文件,助力激光雷达、高能物理等精密计时应用开发。

weixin_42550052的博客 444

《编程之美》

1.7 光线切割转换为逆序数问题1.8停电梯问题自己想的:重心法 书上:类记录表法,停的位置每往上一层,需要多走的人次 进阶:电梯在k个楼层停 或者说,并不是所有的人都需要坐电梯的,实在很低的楼层就直接走上去了,因此初始问题实际上也是一个双层的问题1.9 见面会思路:转化为染色问题,针对染色问题思路,尝试用K种颜色进行染色,逐渐增大K的值。查询邻接顶点颜色表 进阶:集中安排1.11 排石头游

EXIANGBUCHU的博客 548

半导体AMHS天车振动控制:从0.5G到超低振动的技术演进与工程实战

在先进晶圆厂中,自动化物料搬运系统(AMHS)的天车如同空中出租车,承担着晶圆盒(FOUP)在洁净室各工艺区间的转运任务。然而,当天车加减速、过弯或抓取时产生的机械振动通过轨道梁和建筑结构传递至光刻机等敏感设备,便可能直接威胁套刻精度与良率。传统被动减振方案依靠橡胶垫和弹簧,在0.5G指标时代曾行之有效,但在EUV光刻和先进制程面前已力不从心。主动振动控制技术通过传感器、控制器与作动器构成的闭环系统,在轨道吊点和机械手端实时输出反向力抵消振动,配合磁悬浮走行、轻量化结构及调度系统的路径优化,将振动从0.5G

weixin_29188043的博客 344

Materials - UE5中的PivotPainter

可以使用3DS Max Script中的脚本(Pivot Painter)对模型进行处理,让每个Element都有自己的Pivot Point,来方便控制和制作一些特殊的顶点动画效果;

GT的虚幻引擎文档 1288

TJU【第二课堂】编程之美课程作业1

tju第二课堂编程之美课程作业题解

Dawn的博客 1524

基于MATLAB/Simulink平台进行新能源微电网运行控制的建模与仿真

新能源微电网是现代电力系统的重要组成部分,能够有效整合分布式能源(如光伏、风力发电)和储能设备,实现局部区域内的能源高效利用。微电网的运行控制涉及多源能量管理、负荷平衡以及并网/孤岛模式切换等关键问题。基于MATLAB/Simulink平台进行新能源微电网运行控制的建模与仿真,可以帮助研究者验证控制策略的有效性,并优化系统的动态性能和经济性。本项目旨在构建一个完整的新能源微电网模型,包括电源模块、储能模块、负荷模块以及控制器模块,并通过仿真分析其运行特性。

xiaoheshang_123的博客 421

《数学之美》——第21章 拼音输入法的数学原理 & 本学期要学习的C++编程规范(课堂作业)

返回类型和函数名在同一行, 参数也尽量放在同一行, 如果放不下就对形参分行, 分行方式与 函数调用 一致.

ViangQM的博客 984

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

机器人编程软件semia_全国青少年机器人编程

可以选择童程童美少儿机器人编程,智能机器人编程课是达内童程童美旗下的。主要使用教具EV3和WEDO,基于丹麦乐高公司和美国麻省理工学院合作研发的课程体系,借助5C教学方法、双师课堂优势、小组作业、安全环保的教具、趣味的比赛形式,使孩子们发挥出天生的创造力和想象力,培养团队精神、解决问题能力、应变能力、表达能力、社交能力等,帮助他们从容应对21世纪所带来的新挑战。有些家长正在为自己的孩子不肯学习那么...

weixin_39708502的博客 544

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

python培训学费多少钱-上海学习儿童编程学费多少钱

为什么选择在童程童美学习编程?编程教育我们总能一步!美国公司出品:童程童美由成立17年、累计培养了50万IT互联网软件人才、在美国 上市的IT教育集团达内倾力打造。专家设计课程:童程童美系列课程均由达内创始人、CEO、软件设计师韩少云带 领达内教学总监设计开发完成。线下线上一体教学:线下线上一体的编程教育平台,线下校区遍布40多个城市,目前已有100余家,线上学习平台覆盖全国。趣味职业兼顾融合:通...

weixin_37988176的博客 255

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

程序员必读经典-公开课及课件下载(长期更新)

算法导论 麻省理工学院《算法导论》公开课在线观看:http://v.163.com/special/opencourse/algorithms.html 算法导论英文版课程视频verycd下载:http://www.verycd.com/topics/87348/

世界上最美的语言有两种:5线谱和2进制 2369

成都计算机编程学费,成都高朋大道附近人工智能编程学习学费收费标准情况

1、结合认知规律,设计课程体系,以游戏化方式引导学生进行学习童程童美结合不同年龄段孩子的认知规律和认知特点,设计出少儿编程、智能机器人编程和编程数学等多个课程体系。其中少儿编程课程分为4个Level,完成Level4课程的学生具有初级工程师的水平,可以独立完成普通网站和APP设计;智能机器人编程是通过启发性的教学方式,充分发挥学生的想象力和创造力,设计搭建机器人模型,并参加与接轨的相关赛事,助力学...

weixin_30847543的博客 171

双十一,单身狗除了买买买,还能做什么?

躲得过618,躲得过1024终究躲不过双十一小天相信,肯定有很多的小伙伴正磨刀霍霍对准自己的手这个节日小天陪你们买买买!11月6~13日超级数学建模携手网易云课堂“超级充...

数据与算法之美 418

编程之美,探索之趣-读《编程之美》的感受

一次,在上Java上机课的时候,学生们都在机器上调试自己的代码,只有一位同学,用铅笔,在书上涂来改去,时而还陷入沉思,干脆无视老师的存在,我很是恼火,这位同学平时对编程就不是很感兴趣,以往上机课时,他都是无所事事的样子,让他练习书上的代码,他也不屑一顾,认为书上的代码太简单了,根本就不放到眼里,今天看他却一反常态,如此专注,我便走过去看个究竟,原来他正捧着一本时下非常流行的《数独》小册子,正在玩数...

寒雪谷 263

五、Spring AOP

文章目录一、正文1、新建子包lesson05.aop_xml - 配置文件方法2、杀龙任务类3、勇敢骑士类4、游吟诗人类5、创建Spring配置文件6、在pom文件里添加AOP的依赖7、创建测试类 一、正文 1、新建子包lesson05.aop_xml - 配置文件方法 2、杀龙任务类 package net.zy.spring.lesson05.aop_xml; //2021.3.24 杀龙任务类 public class SlayDragonQuest { public void embar

qq_46300856的博客 145

利用组件注解符精简Spring配置文件

利用组件注解符精简Spring配置文件利用组件注解符精简Spring配置文件1.修改杀龙任务2.修改勇敢骑士类3.修改救美骑士类4.配置Spring配置文件创建测试类程序优化-----面向接口1.创建接口1.1 创建Quest接口1.2 创建Knight接口2. 修改任务类3.创建测试类课堂练习1.任务1、两种骑士交换执行任务。任务2、两种骑士都执行两项任务。任务3、两种骑士再交换执行任务。 利用组件注解符精简Spring配置文件 业务Bean的配置可用注解符:@Component - 组件 (@Serv

weixin_45954319的博客 143

购买投影仪——五峰一中将《编程之美》第二批捐款用于改善教学条件

<span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:"Verdana","sans-serif";mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:black;mso-font-kerning:0pt">2009<span style="mso-bidi-

BOPGroup的专栏 915

自我介绍

我是个三线城市的年轻小伙,在读大一,算是阴差阳错的学了计科这门让我几分欢喜几分愁的课程,接触相关专业知识已经有一个学期了,自己却感觉学的不够深入,不够透彻。于是乎开启了自己的"第二课堂"-网络。 记得一位前辈曾经对我说过:“无论哪个行业,网络现在能解决 80%的问题,等那天互联网上解决不了你的问题了你就出师了。” 关于自己学习编程的目标,我想还不是特别明确,更多的是对编程的喜爱在支撑着吧。从开始...

Yang__Sang的博客 185

玩转编程小课堂_在课堂上更好地学习编程

玩转编程小课堂 “我们从零跃升至一百,而我迷路了。” (“We jumped from zero to a hundred, and I was lost.”) This is the common sentiment I noticed even among some of the brightest students taking their first programming course....

weixin_26746861的博客 333

编程也能很有趣!孩子们的编程魔法课堂

在这里,孩子们可以自由地创造自己的编程项目,从而不仅学会了必要的技能,还体验到了制作与分享所带来的快乐。随着课程深入,每个孩子都在这个富有创造性的环境中找到了属于自己的声音,他们所创造出的每一个项目,都像是他们灵魂深处的一抹亮色,加深了对编程这门艺术的热爱。,体验到了编程的实际应用。和互动活动,亲手创造出一个个小小的项目时,内心的激动与喜悦让他们不再畏惧编程那看似冰冷的代码,而是将其视为一种艺术,一种表达自我的方式。通过与同伴们的互动,他们体会到了团队合作的力量,并在解决问题的过程中发现了自己的潜能。

weixin_41751830的博客 1258
上一篇: 腾讯酱油记
下一篇: 在路上—Tinyfool的程序员生涯(大学篇)
BOPGroup
博客等级 码龄17年 2525粉丝 306原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值