九书库

字:
关灯 护眼
九书库 > 天地姻缘传 > 第272章 复习功课

第272章 复习功课(1/2)

    韩翔给蓝儿发去了一条信息,不一会儿,他的手机便传来手机信息声。

    “翔,我也爱你!元宵节快乐!”韩翔看着微信上蓝儿跳动着的头像,内心满是欢喜。

    韩翔轻点蓝儿的头像,读完信息后,脸上洋溢着幸福的笑容。

    随后,他打开电脑,开始复习起计算机科学与技术专业的课程。

    他看着那些数组、链表、栈和队列......。

    脑子里开始梳理起数组在内存中的存储方式,如何通过索引快速访问元素,以及数组在不同编程语言中的实现方式。

    他一边看着笔记,一边在纸上画着简单的示意图。

    复习完数组后,他开始研究链表。

    链表相较于数组更为复杂,其节点之间通过指针相连。

    韩翔仔细地回顾了单链表、双链表和循环链表的结构特点和操作方法。

    他在电脑上打开代码编辑器,开始编写创建链表、插入节点、删除节点等操作的代码。

    在编写过程中,他遇到了指针的方向错误,导致的链表结构混乱。

    在通过仔细耐心地调试,逐行检查代码逻辑,最终解决了这些问题。

    这让他对链表的理解更加深刻,他深知只有通过实际的代码操作,才能真正掌握这些数据结构的精髓。

    接着,韩翔将注意力转移到了栈和队列上。

    栈是一种后进先出的数据结构,而队列却是先进先出。

    他复习了栈在函数调用中的应用,如何利用栈来保存函数的局部变量和返回地址。

    对于队列,他想到了操作系统中的进程调度,先进入就序队列的进程会先被调度执行。

    在通过编写模拟栈和队列操作的程序上,来巩固自己的知识。

    他设置了不同的测试数据,观察程序的输出结果是否符合预期,这一过程让他对这两种数据结构的特性有了更直观的感受。

    ......。

    韩翔完成数据结构的复习后,又开始复习算法相关的知识。

    算法是数据结构的灵魂,好的数据结构需要搭配高效的算法才能发挥最大的作用。

    他从排序算法开始复习,首先是冒泡排序。

    只见他紧锁眉头,回忆起冒泡排序的原理。

    每一次比较相邻的两个元素,如果顺序不对就需要进行交换,这样经过多轮比较后,最大(或最小)的元素就会“浮”到数组的一端。

    他在纸上写出了冒泡排序的代码实现,并且计算了其时间复杂度为o(n2)。

    接着思考着如何对冒泡排序进行优化。

    他设置了一个标志位来判断在一轮比较中是否发生了交换,如果没有交换就说明数组已经有序,可以提前结束排序。

    然后,他复习了快速排序算法。

    快速排序是一种基于分析思想的高效排序算法。

    在复习中,有些口渴,他起身拿着学习桌上的水杯,走到客厅里,从饮水机里接了一杯热气腾腾的水,又走进电脑跟前。

    一边饮着水,一边仔细研究着分区操作的原理。

    如何选择一个基准元素,将数组分为左右两部分,使得左边的元素都小于等于基准元素,右边的元素都大于等于基准元素。

    他在电脑上实现了快速排序算法,并通过随机生成大量不同规模的数组进行测试,观察算法的运行时间和排序结果。

    “嗯!”他发现了快速排序在平均情况下的时间复杂度为o(n log n),但在最坏情况下可能会退化为o(n2),这让他对算法的性能分析有了更深入的理解。

    除了排序算法,韩翔还复习了搜索算法,如二分搜索算法。

    二分搜索算法适用于有序数组,它通过不断地将搜索区间缩小一半,从而快速定位目标元素。

    在复习时,韩翔不仅掌握了二分搜索算法的基本实现,还思考了一些变体情况,比如在存在重复元素的有序数组中如何找到所有目标元素的位置。

    他通过编写代码来解决这些变体的问题,进一步提升了自己对搜索算法的掌握程度。

    复习完数据结构和算法这些基础课程后,韩翔将目光投向了计算机组成原理。

    计算机组成原理是理解计算机硬件工作机制的关键课程。

    他从计算机的基本组成部分开始复习,包括运算器、控制器、存储器、输入设备和输出设备。

    又研究了cpU的结构和功能,了解到cpU如何执行指令,如何从内存中读取数据和指令,以及如何进行算术和逻辑运算。

    韩翔打开了一个cpU模拟器软件,通过这个软件,他可以直观地看到cpU内部各个部件的协同工作过程。

    他设置了一些简单的指令序列,观察cpU是如何按照指令周期逐步执行这些指令的。

    还复习了计算机的存储系统,从高速缓存(cache)到主存储器(R
本章未完,请点击下一页继续阅读》》
『加入书签,方便阅读』
内容有问题?点击>>>邮件反馈