数据结构中关于链表的一个简单问题
学数据结构还是上个学期的事,什么?觉得怎么样?唉,别提了,那个时候被我们那位女老师给搞晕了,上课的时候只有一个声调,照着书本上的算法在黑板解释给我们听都还不能流畅,你就可想而知我们觉得怎么样了。当然啦,这些都是客观原因,自己不认真是实质所在。一直很想再好好看看,现在又有机会听一位科大博士的数据结构课程,自然是倍感珍惜,只希望可以跟着他,把以前的知识再过一遍,我想会有新的收获。
下面就把今天这个问题讲一下吧,也许在老鸟看来是一个小儿科的问题,但是没有办法,我不是什么聪明的人,只好用笨办法,现在一边回忆一边总结。就算我记性不好,时不时的拿来看看,一来可以巩固一下知识,二来,也许会发现以前的不足。
问题1:合并两个递增的线性链表为一个递增的线性链表。
这个问题是我们的数据结构课程里,是一个常见的问题。但是以住我们会不太注意时间和空间复杂度的问题,这个学期我又选了算法这门课,一边惊叹同一个问题用不同的方法可能会带来效率的极大差别,一边也告诉自己,以后做程序不能以解决问题做为评判成绩唯一标准。而要追求,出色的完成任务。所以,这是我从这个问题考虑到的。
解决:基于比较,分别比较两个链表的元素,选出较小的加到新的链表中。
算法:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)