首页 > 编程语言 >2024-2025-1 20241314 《计算机基础与程序设计》第七周学习总结

2024-2025-1 20241314 《计算机基础与程序设计》第七周学习总结

时间:2024-11-10 15:20:20浏览次数:1  
标签:柱子 target 递归 source 2024 2025 盘子 20241314 指针

2024-2025-1 20241314 《计算机基础与程序设计》第七周学习总结

作业信息

这个作业属于哪个课程 <班级的链接>2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 2024-2025-1计算机基础与程序设计第七周作业
这个作业的目标 数组与链表 基于数组和基于链表实现数据结构 无序表与有序表 树 图 子程序与参数
作业正文 正文

教材学习内容总结

计算机科学概论(第七版)第1章

《计算机科学概论(第七版)》第8章通常讨论的是计算机网络和互联网的基本概念。以下是该章的一些关键要点概括:

计算机网络的定义:介绍什么是计算机网络,以及它们如何将不同的计算机和设备连接在一起,以实现数据通信和资源共享。

网络的类型:讨论不同类型的网络,包括局域网(LAN)、广域网(WAN)和城域网(MAN),并解释其特点和应用场景。

网络协议:讲解网络通信中使用的各种协议,如TCP/IP(传输控制协议/互联网协议),以及怎样通过这些协议来确保数据的可靠传输。

网络架构:介绍网络的层次结构,包括物理层、数据链路层、网络层、传输层和应用层等,帮助读者理解各层在网络运作中的角色。

互联网及其发展:概述互联网的历史、发展和现状,包括应用程序(如HTTP、FTP等)及其在日常生活中的重要性。

网络安全:探讨网络安全的基本概念和措施,包括防火墙、加密技术和网络攻击类型等,以提高对网络安全的意识。

新兴技术:介绍一些新兴的网络技术和趋势,如物联网(IoT)、云计算和5G技术等,讨论它们如何影响未来的计算机网络。

《C语言程序设计》第6章

指针的定义和使用:介绍指针的基本概念,包括指针的声明、初始化和解引用。讲解指针在程序中的作用以及如何通过指针来访问和修改变量的值。

指针与数组:解释指针与数组之间的关系,包括如何使用指针来操作数组元素,指针算术运算等。

函数指针:介绍函数指针的概念,解释如何定义和使用函数指针,以实现回调函数和简化代码结构等。

动态内存分配:讲解如何使用 malloc、calloc、realloc 和 free 函数进行动态内存分配和管理,强调如何有效地管理内存以避免内存泄漏。

结构体与指针的结合:介绍如何使用指针来处理结构体,包括结构体指针的定义、赋值和访问结构体成员。

指针的数组和指针的指针:讨论指向指针的指针(双重指针)及其在某些程序设计中的应用场景。

常见错误和调试技巧:提醒读者在使用指针时常见的错误(例如:空指针引用、野指针等),以及如何调试和防止这些错误。

教材学习中的问题和解决过程

问:汉诺塔问题
答:汉诺塔问题是一个经典的递归问题,最早由法国数学家爱德华·卢卡斯在1883年提出。问题的叙述如下:

有三根柱子,A、B、C,初始时,所有的盘子按照从大到小的顺序叠放在柱子A上。目标是将这些盘子全部移动到柱子C上,要求遵循以下规则:

一次只能移动一个盘子。
任何时候都不能将较大的盘子放在较小的盘子上。
可以使用柱子B作为辅助柱子。
问题解决思路:

将n-1个盘子从柱子A移动到柱子B,使用柱子C作为辅助柱子。
将第n个盘子(最大的盘子)直接从柱子A移动到柱子C。
将n-1个盘子从柱子B移动到柱子C,使用柱子A作为辅助柱子。

C语言实现汉诺塔问题

#include <stdio.h>

void hanoi(int n, char source, char target, char auxiliary) { if (n == 1) {
printf("Move disk 1 from %c to %c\n", source, target); return; } hanoi(n - 1, source, auxiliary, target); // Step 1: Move n-1 disks to auxiliary
printf("Move disk %d from %c to %c\n", n, source, target); // Step 2: Move the nth disk
hanoi(n - 1, auxiliary, target, source); // Step 3: Move n-1 disks from auxiliary to target }

int main() { int n; // Number of disks printf("Enter the number of disks: "); scanf("%d", &n);
hanoi(n, 'A', 'C', 'B'); // A is source, C is target and B is auxiliary return 0; }
问:为什么有的问题只能用递归解决
答:自我相似性:

许多问题具有自我相似的特性,即问题的某个部分与整体问题形式相似。在这种情况下,递归允许我们简化问题,将其分解为相同类型的子问题(例如,汉诺塔、树的遍历等)。
复杂结构处理:

递归非常适合处理复杂的数据结构,例如树和图。对于树的遍历、图的搜索(如深度优先搜索)等问题,递归提供了简单直观的解决方案。
简化逻辑:

递归通常可以大大简化代码逻辑。例如,在处理分治算法(如归并排序、快速排序)时,递归使得实现过程更为清晰,而使用迭代可能需要更复杂的状态管理。
基于分治法:

许多算法基于分治策略,解决一个大问题的过程是将其分解为更小的相似问题。这种情况下,递归是实现分治算法的自然选择,因为每次递归调用都在处理一个更小的子问题(如合并排序)。
状态追踪问题:

在解决问题时,递归可以通过函数调用栈自动管理状态。例如,在解决问题时需要追踪路径、深度等智能信息,递归可以自然地保留这些状态而无需额外的全局变量。

基于AI的学习










标签:柱子,target,递归,source,2024,2025,盘子,20241314,指针
From: https://www.cnblogs.com/serene99/p/18537844

相关文章

  • 还在搞传统爬虫吗?2025年用人工智能轻松抓取几乎所有网站
    今天,我将介绍一种简单的方法,帮助大家从各种网站上收集数据,搭建一个能够像人在浏览器中操作的网页爬虫。这种爬虫甚至可以在Upwork等平台上独立完成一些网页抓取的自由职业任务。自2024年以来,随着AI的发展,网页抓取发生了巨大的变化。以前,大公司如亚马逊或沃尔玛为了保持价......
  • 音乐创作人工具:capella-software 2024
    capellaFormymusicWriteyourscoresmoreeffectivelyusingautomaticobjectplacement,multipleselectionandrehearsalfunctions.capellareaderDisplay,playbackandprintscoresforfreeRevolutionizesyourrehearsals-everybodyiswellprep......
  • 2024 AH CSP-S 迷惑行为大赏
    洛谷专栏阅读:https://www.luogu.com.cn/article/0atx674s一、概述观前提示:本届CSP-S安徽省整活相较于其他省份不是那么“群英荟萃”,观看前请不要小零食(?)本届CSP-S安徽共有1013人参赛,其中有效准考证号源文件夹共有1006个,7人因为种种原因最终没有留下任何参赛痕迹,让我们为他们致哀......
  • 20241110
    T1前缀后缀首先\(q\)的数据范围是在搞笑,因为最多\(n\)次操作之后序列就没了。然后可以考虑\(f_{l,r}\)表示还剩\([l,r]\)时最多执行到了哪个操作。转移考虑下一个操作在左边做还是在右边做即可。可以对每个询问预处理出每个点左右第一个能接这个询问的点。时间复杂度......
  • 【AE2024】专业视频后期制作软件下载安装(附百度云链接)
    目录AdobeAfterEffects软件简介1.软件功能介绍1.1动画与合成1.2视觉效果1.3动态图形与模板2.系统要求2.1操作系统2.2硬件要求2.3显示与分辨率3.使用场景3.1影视后期制作3.2广告与宣传片3.3动画与艺术创作AdobeAfterEffects软件简介AdobeAf......
  • 【PS2024】Adobe Photoshop 软件下载与快捷键的使用
    目录一、功能介绍1.1图像编辑与修复下载链接:1.2图形与文字设计1.3高级图像处理二、系统要求2.1硬件要求2.2操作系统三、快捷键使用3.1文件操作3.2编辑操作3.3视图与画布操作3.4图层操作3.5选择工具一、功能介绍1.1图像编辑与修复图像调整:Photosh......
  • AIGC时代算法工程师的面试秘籍(第二十五式2024.10.21-11.3) |【三年面试五年模拟】
    写在前面【三年面试五年模拟】旨在整理&挖掘AI算法工程师在实习/校招/社招时所需的干货知识点与面试经验,力求让读者在获得心仪offer的同时,增强技术基本面。欢迎大家关注Rocky的公众号:WeThinkIn欢迎大家关注Rocky的知乎:RockyDingAIGC算法工程师面试面经秘籍分享:WeThi......
  • 20222415 2024-2025-1《网络与系统攻防技术》实验四实验报告
    1.实验内容1.1恶意代码文件类型标识、脱壳与字符串提取1.2使用IDAPro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。1.3分析一个自制恶意代码样本rada1.4取证分析实践2.实验过程2.1恶意代码文件类型标识、脱壳与字符串提取使用fileRaDa.ex......
  • 2024牛客网最新版Java面试题大全带答案 1400多题(限时分享)
    都知道IT行业是高薪人员的聚集地,但想要成为高薪程序员却并不容易。月薪20k是Java程序员的一个门槛,想要突破就必须掌握更多的技能。因为程序员职业发展很快,即使是相同起点的人,经过几年的工作或学习,会迅速拉开极大的差距,所以技术人保持学习,提升自己,才能够扛得住不断上赶的......
  • 【LaTex 2024软件下载与安装教程】
    1、安装包Latex2024:链接:https://pan.quark.cn/s/1dad34ca4d8f提取码:5bja2、安装教程1)       双击压缩包内intall-tl-windows.bat安装,弹窗安装对话框   2)       自动弹出安装窗口,如果弹出以下窗口说明文件夹目录太长或者有中文,建议放磁盘根目录;如果......