烟台大学计算机学院教师,建设系列学习资源,改革教学方法,为IT菜鸟建跑道,让大一的孩子会编程,为迷茫的大学生出主意,一起追求快乐的大学。 著书《逆袭大学:传给IT学子的正能量》,帮助处于迷茫中的大学
【来信】 我先将这个具体情况讲一讲。我系的一位教过我课的老师接了一个项目,现在再学生去完成。 老师接的项目是要求用C#.Net、数据库方面的知识去做的。我自己现在正在学习《传智播客》免费提供的C#.Net学习视频,我现在已学习了大约3/5,已经学习的部分是关于控制台应用程序的,对于.net FrameWork框架呢目前还没有学习到。在我大二下学期时,学校开设了C#
【留言】 老师您好!我是大一软件学生,但是目前我陷入了很大的困扰中。在大一第一学期的学习中,我承认自己对于C++编程练习的热情不够,可能这也导致了我在最后的期末考中,大部分人能够做出七八题而我只能在三四题挣扎的水平吧。为此我也问了不少跟我是零基础学习C++但是现在很厉害的同学,他们基本都说是刷题刷出来的,但是我想问,到底怎样才算是刷题呢?真的题做多了,会做的题就会多吗?这
有老师(T老师)与我(H老师)联系,询问些关于翻转课堂实施的事。实录如下,供同行参考、指正。 [T老师] 贺老师,您好。我想问下您在实施翻转课堂教学时是否使用课前任务书? [H老师] 指导学生课前自主学习,用了的。 [T老师] 您能给发个模板吗?关于翻转课堂我是第一次做,真的是没有头绪啊 [H老师] 我找一个给你。(数据结构第12周学习方案) [H老
一位将寒假目标定为准备开学补考的同学,遇到了在时间分配上的问题。他的来信是这样写的。 【来信】 老师,冒昧打扰您一下,我遇到了一个问题希望老师能给予我帮助。我在寒假里有规律的复习课程,现在感觉渐入佳境,有一种脑子里有真东西的感觉了。但是这中间有一个小插曲,因为下学期我们专业要学单片机了,正好我父亲也是电子工程师,这辈子主攻的就是单片机汇编方向,给我了一
本文点评一位学生对基于线性表存储集合,然后对集合进行求并运算的错解,供学习者参考。 【项目 - 求集合并集】 假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即线性表中的数据元素即为集合中的成员。设计算法,用函数unionList(List LA, List LB, List &LC )函数实现该算法,求一个新的集合C=A∪B,即将两
【前言】 收到一封来信。是我的网络课程的“客户”,他向我问一个具体的知识点上的问题。他给出的分析很深入,我需要再次看一遍,跟住思路后再答。半小时后有个小会要开,这个时间分享点他让我激动的东东。 让我激动的,就是他在后面附着的一段自己学习历程的记录。这样的场景真是处处都有,但他的走出,着实令人敬佩。自救者,天救。分享来信,与各位读者共勉——一起努力,将主动把握在自己
本文来自读者对我博文的评论。遇到主动思考者,提出的主动思考过的问题,老贺是相当的兴奋。 完整的对话见《C语言及程序设计实践参考——n=a!+b!+c!》中二楼评论。 【问题】 老师,我尝试着%¥#&……%……,但程序变得更多了,这样还会提高效率吗? 【答复】 很高兴你能问出这样的问题,这种主动思考,在我的实体课学生中真也不多。这牵涉到我
完整算法见[例程],本文用一个例子,演示堆排序的过程。 例:对{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}进行堆排序的过程。 算法如下: void HeapSort(RecType R[],int n) { int i; RecType temp; //(1)循环建立初始堆 for (i=
本文是针对[数据结构基础系列(11):文件]中的实践项目。 【项目1】操作文件 有若干学生的成绩数据如下,将这些数据保存到st数组中: 学号 姓名 年龄 性别 语文 数学 英语 1 陈华 20 男 78 90 84 5 张明 21 男 78 68 92 8
本文是针对[数据结构基础系列(11):文件]中的实践项目。 【项目】索引文件 有若干学生的成绩数据如下,将这些数据保存到st数组中: 学号 姓名 年龄 性别 语文 数学 英语 1 陈华 20 男 78 90 84 5 张明 21 男 78 68 92 8
本文是针对[数据结构基础系列(11):文件]中的实践项目。 【项目1】操作文件 有若干学生的成绩数据如下,将这些数据保存到st数组中: 学号 姓名 年龄 性别 语文 数学 英语 1 陈华 20 男 78 90 84 5 张明 21 男 78 68 92 8
本文是针对[数据结构基础系列(10):外部排序]中的实践项目。 【项目-1】置换-选择算法模拟 编写程序,模拟置换-选择算法生成初始归并段的过程。 设大文件中的记录共有18个: 15 4 97 64 17 32 108 44 76 9 39 82 56 31 80 73 255 68 内存工作区可以容纳5个记录,输出产生的归并段文件。 在模拟中
本文是针对[数据结构基础系列(10):外部排序]中的实践项目。 【项目】败者树归并模拟 编写程序,模拟改者树实现5路归并算法的过程。 设有5个文件,其中的记录的关键字如下: F0:{17,21,∞} F1:{5,44,∞} F2:{10,12,∞}F3: {29,32,∞} F4: {15,56,∞} 要求将其归并为一个有序段并输出。 假设这些
本文是针对[数据结构基础系列(10):外部排序]中的实践项目。 【项目 】置换-选择算法模拟 编写程序,模拟置换-选择算法生成初始归并段的过程。 设大文件中的记录共有18个: 15 4 97 64 17 32 108 44 76 9 39 82 56 31 80 73 255 68 内存工作区可以容纳5个记录,输出产生的归并段文件。 在模拟中,输
【来信】 我不知道您是否能在百忙之中抽出空闲来为我解惑。我是一名大专一学生,计算机软件专业,我询问方向,是UI设计和Java,但是我对UI设计这方面不感兴趣,但也有在认真跟老师学。对编程C/C++、汇编比较感兴趣。因为学C,看C的视频和C Primer Plus,看了视频后看书比较轻松。自从在CSDN博客中看到您写VC++6.0调试器使用方法和对大学的学生解惑,我似乎找
本文是针对[数据结构基础系列(9):排序]的实践。 【项目 - 英文单词的基数排序】 设计一个基数排序的算法,将一组英文单词,按字典顺序排列。假设单词均由小写字母或空格构成,最长的单词有MaxLen个字母。 [参考解答] #include <stdio.h> #include <malloc.h> #include <string
本文是针对[数据结构基础系列(9):排序]的项目。 【项目 - 归并排序算法的改进】 采用归并排序、快速排序等高效算法进行排序,当数据元素较少时(如n≤64),经常直接使用直接插入排序算法等高复杂度的算法。这样做,会带来一定的好处,例如归并排序减少分配、回收临时存储区域的频次,快速排序减少递归层次等。 试按上面的思路,重新实现归并排序算法。 [参考解答]
本文是针对[数据结构基础系列(9):排序]的实践项目。 【项目 - 大数据集上排序算法性能的体验】 设计一个函数,产生一个至少5万条记录的数据集合。在同一数据集上,用直接插入排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序等算法进行排序,记录所需要的时间,经过对比,得到对复杂度不同的各种算法在运行时间方面的感性认识。 提示1:这一项目需要整合多种
事由 在校门口经常去的“西安小吃”,吃了一碗臊子面,但远没有平时那么好吃。想着以后不会去了,周边新增的同类店铺很多,为什么还要一说吃面就去他家。后来想,该告诉老板,今天吃得不爽,这是帮助他,但没有告诉。 换位思考看需求 换厨师了,还是怎么了?总之老板应该要知道消息。作为一个小店的老板,收集信息的沟道,有创新空间。话说也有大平台,但小店操持,并不总有效。至少,我的感受
本文是[数据结构基础系列(9):排序]中第10课时[基数排序]的例程。 #include <stdio.h> #include <malloc.h> #include <string.h> #define MAXE 20 //线性表中最多元素个数 #define MAXR 10 //基数的最大取值 #def
本文是[数据结构基础系列(9):排序]中第9课时[简单的计数排序]的例程。 #include <stdio.h> #include <malloc.h> #define MaxSize 20 #define MaxNum 100 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]
本文是[数据结构基础系列(9):排序]中第8课时[归并排序]的例程。 #include <stdio.h> #include <malloc.h> #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct
本文是[数据结构基础系列(9):排序]中第7课时[选择排序之堆排序]的例程。 对算法运行过程,补充了一个示例,见[补充示例]。 #include <stdio.h> #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct
本文是[数据结构基础系列(9):排序]中第6课时[选择排序之直接选择排序]的例程。 #include <stdio.h> #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 { Ke
本文是[数据结构基础系列(9):排序]中第5课时[ 交换排序之快速排序]的例程。 1.以第1个元素作为基准 #include <stdio.h> #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录
本文是[数据结构基础系列(9):排序]中第4课时[交换排序之冒泡排序]的例程。 冒泡排序 #include <stdio.h> #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 {
本文是[数据结构基础系列(9):排序]课程的实践项目。 本文针对: 1. 排序问题及导学 2. 插入排序之直接插入排序 3. 插入排序之希尔排序 4. 交换排序之冒泡排序 5. 交换排序之快速排序 6. 选择排序之直接选择排序 7. 选择排序之堆排序 8. 归并排序 9. 简单的计数排序 10. 基数排序 11. 各种排序的比较 纸上谈兵:“
本文是[数据结构基础系列(8):查找]课程的第二组实践项目。 本文针对: 9. B-树 10. B+树 11. 哈希表——散列结构 12. 哈希表的运算 13. 拓展:谷歌搜索的数据结构 纸上谈兵:“知原理”检验题目 [参考解答] 1、给定序列{4, 9, 0, 1, 8, 6, 3, 5, 2, 7} (1)创建对应的3阶B-树b,请画出构造过
1、对于A[0..10]有序表{12,18,24,35,47,50,62,83,90,115,134} 采用二分查找法对应的判定树: 成功和不成功时的平均查找长度。 2、现给出一个分块有序的数据表,每块中元素的个数s=8,其中的数据有: 22,4,23,11,20,2,15,13,30,45,26,34,29,35,26,36,55,98,56,74,61,90,8
本文是针对[数据结构基础系列(8):查找]的实践。 【项目 - B-树的基本操作】 实现B-树的基本操作。基于序列{4, 9, 0, 1, 8, 6, 3, 5, 2, 7}完成测试。 (1)创建对应的3阶B-树b,用括号法输出b树。 (2)从b中分别删除关键字为8和1的节点,用括号法输出删除节点后的b树。 [参考解答] #include <stdio.h&
本文是针对[数据结构基础系列(8):查找]中第11课时[哈希表——散列结构]和第12课时[哈希表的运算]的实践项目。 【项目 - 用哈希法组织关键字】 已知一个关键字序列为if、while、for、case、do、break、else、struct、union、int、double、float、char、long、bool,共15个字符串,哈希函数H(key)为关键字的第
本文是[数据结构基础系列(9):排序]中第3课时[插入排序之希尔排序]的例程。 1.希尔排序 #include <stdio.h> #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 {
本文是[数据结构基础系列(9):排序]中第2课时[插入排序之直接插入排序]的例程。 1.直接插入排序 #include <stdio.h> #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型
本文是[数据结构基础系列(8):查找]中第11课时[哈希表——散列结构]和第12课时[哈希表的运算]的例程。 #include <stdio.h> #define MaxSize 100 //定义最大哈希表长度 #define NULLKEY -1 //定义空关键字值 #define DELKEY -2
【留言】 贺老师你好,我是软件工程专业的大二学生,我们学校这个学期的专业学习不是很多,已经学完了。参考学校的培养计划,下个学期开始,差不多都是专业课的学习。数据库原理,算法设计,计算机组成原理,操作系统,计算机网络等,还有类似于软件过程管理,软件测试技术的学习,学时都超过48小时,外加实验课和课程设计,编译原理好像没有开课,现在感觉脑子里有点乱,不知道重点应该放
本文是[数据结构基础系列(8):查找]课程的第一组实践项目。 本文针对: 0801 查找问题导学 0802 线性表的顺序查找 0803 线性表的折半查找 0804 索引存储结构 0805 分块查找 0806 二叉排序树 0807 二叉排序树(续) 0808 平衡二叉树 纸上谈兵:“知原理”检验题目 [参考(部分)] [参考(1)] 1、对于A[0.
本文是[数据结构基础系列(8):查找]的实践项目参考。 【项目 - 是否二叉排序树?】 设计一个算法,判断给定的二叉树是否是二叉排序树。 [参考解答] int JudgeBST()是设计的算法对应的实现。 #include <stdio.h> #include <malloc.h> #define MaxSize 100 typedef in
本文是[数据结构基础系列(8):查找]中的实践项目参考。 【项目 - 二叉树排序树中查找的路径】 设计一个算法,输出在二叉排序中查找时查找某个关键字经过的路径。 [参考解答] 专为本项目设计的算法体现在函数int SearchBST(…)和void SearchResult()中。 #include <stdio.h> #include <ma
本文是[数据结构基础系列(8):查找]中第8课时[平衡二叉树]的例程。 平衡二叉树相关算法 #include <stdio.h> #include <malloc.h> typedef int KeyType; //定义关键字类型 typedef char InfoType; typedef struct no
本文是[数据结构基础系列(8):查找]中第6、7课时[ 二叉排序树]的例程。 #include <stdio.h> #include <malloc.h> typedef int KeyType; typedef char InfoType[10]; typedef struct node //记录类型 {
本文是[数据结构基础系列(8):查找]中第5课时[分块查找]的例程。 分块查找 #include <stdio.h> #define MAXL 100 //数据表的最大长度 #define MAXI 20 //索引表的最大长度 typedef int KeyType; typedef char InfoType[10]; typedef stru
本文是[数据结构基础系列(8):查找]中第3课时[线性表的折半查找]的例程。 折半查找 #include <stdio.h> #define MAXL 100 typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key; //K
本文是[数据结构基础系列(8):查找]中第2课时[线性表的顺序查找]的例程。 顺序查找算法 #include <stdio.h> #define MAXL 100 typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key; //
本文是针对[数据结构基础系列(7):图]的第2组实践例程。 (程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…) 0710 生成树的概念 0711 最小生成树的普里姆算法 0712 最小生成树的克鲁斯卡尔算法 0713 从一个顶点到其余各顶点的最短路径 0714 每对顶点之间的最短路径 0715 拓扑排序 0716 AOE网与关键路径
本文是[数据结构基础系列(7):图]中第11课时[拓扑排序]的例程。 (程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…) [代码] #include <stdio.h> #include <malloc.h> #include "graph.h" void TopSort(ALGraph *G) { i
本文是[数据结构基础系列(7):图]中第14课时[每对顶点之间的最短路径]的例程。 [Floyd算法实现] (程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…) #include <stdio.h> #include <malloc.h> #include "graph.h" #define MaxSize 100
(一)莫总以应试之心做事 在帮助大学生学会学习的路上作了不少的工作,深刻地感受到了应试思维对于我们学生的控制。学个什么,总要问一下考不考,怎么考,到头来,只能为考而学,学来的,不可能是真货。 而反思作为我们的工作,却不也在盯着一些指标,成天算计着吗?指标里有的,削尖脑袋地去做,指标里没有的,那就一边去。 纯按指标行事,在其他的行业中是否合适,我没有太多的发
上部 在新浪图片,看到[加拿大500只羊突然“隐身消失”]。 说的是,近日,加拿大一名农妇开车例行检查她的500只羊群时,发现她的羊都不见了! 是酱紫的: (1)哪里有我的羊 (2)还是木有羊 (3)说好的羊呢?呜呜… (4)讨厌!给我装! 最后,等车开过去了,等车开过去才发现这些羊只是融入了背景里。原来羊也是大自然的伪装大师。
本文是针对[数据结构基础系列(7):图]的实践项目。 【项目 - 迷宫问题之图深度优先遍历解法】 设计一个程序,采用深度优先遍历算法的思路,解决迷宫问题。 (1)建立迷宫对应的图数据结构,并建立其邻接表表示。 (2)采用深度优先遍历的思路设计算法,输出从入口(1,1)点到出口(M,N)的所有迷宫路径。 [模型建立] 将迷宫中的每一格作为一个
本文是针对[数据结构基础系列(7):图]中第1-9课时的实践项目。 0701 图结构导学 0702 图的定义 0703 图的基本术语 0704 图的邻接矩阵存储结构及算法 0705 图的邻接表存储结构及算法 0706 图的遍历 0707 非连通图的遍历 0708 DFS的应用 0709 BFS的应用 【项目1 - 图基本算法库】 定义图的邻接矩阵和邻