算法程序
文章平均质量分 74
兰舟千帆
分享实用有价值的技术文章
展开
-
单链表的静态建立以及动态链表建立(红芯书院的研学)
有关链表(第六阶段笔记-星期一记录)在csdn写过链表,当时没有熟悉markdown的语法,所以排版很糟糕,虽然排版目前也不怎么样,但是看还是可以的。很用心去研究链表了。我将我的思想写下来。结点这个词组可能写的不对,还希望原谅,明白意思就好。结构体指针通过动态内存申请,会转变为结构体变量,你理解了吗?如果不对,请指教。当然啦,结构体的理解是学号链表的前提。众所周知,链表这种数据结构在数据结构与算法中的地位是极其重要的。我拼了也要把它搞懂。1:先总结一下如何创建静态链表显然这个没有任何难度,所谓原创 2021-06-14 15:52:07 · 965 阅读 · 5 评论 -
队列的基本操作
这一章我们来看队列队列的概念:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。其实我们来对比栈,栈的特点是只能在一端进行操作的,而队列是一端插入一端删除。用一句很有歧义却很形象的话来讲两者的区别就是:栈就是插进去抽出来,而队列是插进去吐出来。我们还是上图来更加直观的看队列队列分为两种,一种是顺序队列,一种是循环队列。其实从存储原创 2020-09-03 16:12:00 · 1705 阅读 · 0 评论 -
栈的基本操作
我们先来看数据结构所包含的内容栈无疑是数据结构中非常重要的一种存储结构。我们今天来介绍栈什么是栈?栈是只能在表的一端进行数据存取的数据结构。我们来看图示。其实还是很好理解的。我们来回顾下顺序表和链表,我们将栈与之对比。顺序表的定义顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存原创 2020-09-02 21:40:18 · 3628 阅读 · 0 评论 -
递归算法的典型程序,分形树的绘制和汉诺塔的问题解决。
在程序中,程序自身调用自身的这种技巧称为递归。我们来通俗的讲一下递归,从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山…我们小时候应该都听过这样的故事,大家想想,这个故事如果以我们程序的思维来看是不是递归?当然,这的确很想递归,因为老和尚在一直讲故事,这就像在调用自身老和尚讲故事这个函数,但我要告诉大家的是,放在我们程序里,这还真的不叫递归!我们总是认为递归就是不断的调用自己,但事实上我们忽略了一个重要的条件,程序中的递归应该有终止条件,如原创 2020-08-13 09:25:25 · 663 阅读 · 0 评论 -
建立单链表相关问题详解
相信学习程序编程的各位猿友们对链表再熟悉不过了,这是我们在学数据结构时遇到的一种存储结构,在链表的问题上,并不是我们想的那样简单,当然,也不是那么难。对于初学者来说,未免是抽象而复杂的,我们常常以为,抽象的东西当当然需要去抽象的理解,我们常常看到书上这样写,抽象数据结构,那些定义的方式,常常让初学者有点懵懂。数据结构的东西很需要强大的逻辑思维去理解,算法的问题通常并不是很好去解决,逻辑思维其实并不是先天的,更重要的是我们在后天的学习过程中建立这种思维。就像我们脑子里常常建立的突触一样,多思考,多操作,你才能原创 2020-08-11 09:29:51 · 1694 阅读 · 3 评论