91高清免费观看_亚洲高清视频免费观看_91视频综合_国产精品一区99_伊人手机视频_懂色av懂色aⅴ精彩av

有趣生活

当前位置:首页>职场>数据结构之链表操作大集合(技术连载数据结构)

数据结构之链表操作大集合(技术连载数据结构)

发布时间:2024-01-24阅读(3)

导读链表反转此题属于中低难度的题,思路并不复杂,单其中有很多易错点,比如空指针判断、指针丢失等;思路:设置三个指针pre、cur、next,初始时刻pre=nu....链表反转

此题属于中低难度的题,思路并不复杂,单其中有很多易错点,比如空指针判断、指针丢失等;

思路:设置三个指针pre、cur、next,初始时刻pre = null,cur = head;

开始处理,首先执行next = cur.next,防止后面cur.next修改之后指针丢失;

数据结构之链表操作大集合(技术连载数据结构)(1)

链表反转

环形链表检测并返回入环点

这个题目技巧性很强,一般不太容易想到;大体思路如下:

首先设置快慢指针,每一次移动,快指针移动两步(尤其需要注意第二步判断空指针),慢指针移动移步;然后判断两个指针是否指向同一位置。

如果最终快指针遇见null,则无环;如果快慢指针指向了同一位置,则有环;

如果有环的化,两指针相遇时,快指针移动到head位置,并且变为慢指针(每次移动一步);然后两个指针再次开始移动,直到再次相遇即为入环点。(证明略)

数据结构之链表操作大集合(技术连载数据结构)(2)

环形链表检测

链表归并排序

二路归并排序:假设两个有序数组,设置两个指针,指向0位置,将指向比较小元素的指针对应的元素存入数组,并移动指针;直到两个指针移动完毕;

归并排序思路:归并排序是建立在二路归并排序基础之上,将数组逐渐分解,直到仅有一个元素,然后进行二路归并排序。(先分后合的思想)

伪代码如下:

public int[] merge(int[] nums,int start, int end){

if(start == end){

return new int[]{nums[start]};

}

int mid = (start end) / 2;

int[] s1 = merge(nums, start,mid);

int[] s2 = merge(nums,mid 1, end);

return binMerge(s1,s2);

}

链表归并排序比数组归并排序难度有所增加,但思路是一致的,仍然是逐步分解,直到只有一个结点,然后再合并。

主要区别在于中点的选取,关于中点选取,这里也有现成的思路,通过快慢指针,当快指针走到终点时,慢指针即为中点。

具体实现如下:

数据结构之链表操作大集合(技术连载数据结构)(3)

连载系列:

技术连载:开篇词

技术连载:连载提纲设计思路

技术连载:数据结构 - 数组

技术连载:数据结构 - 数组常见面试题汇总

技术连载:数据结构 - 链表

欢迎分享转载→http://www.umpkq.cn/read-217553.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图

主站蜘蛛池模板: 久久久久人妻精品一区三寸 | 国产午夜福利在线观看视频 | 91成人在线视频 | 免费看黄色的 | 精品视频一二三区 | 又湿又紧又大又爽a视频国产 | 四虎成人免费电影 | 无码aⅴ在线观看 | 亚洲欧美日韩国产精品专区 | 色综合久久88色综合天天提莫 | 色免费在线 | 亚洲日本一区二区三区在线不卡 | 亚洲天堂精品在线观看 | 激情国产av做激情国产爱 | 亚洲色婷婷六月亚洲婷婷6月 | 国产精品亚洲一区二区三区久久 | 韩国日本美国免费毛片 | 韩国一区二区视频 | 日射精情感性色视频 | 亚洲av成人无码精品网站老司机 | 4438亚洲最大成网人网站 | 亚洲国产一区二区在线 | 亚洲女同一区二区 | 欧美丰满一区二区免费视频 | 男男啪羞羞视频网站 | 欧美一区二区三区在线可观看 | 亚洲网站视频在线观看 | 狠狠色噜噜狠狠狠狠777米奇 | 色爱区综合五月激情 | 99久久精品无码一区二区毛片 | 大陆一级毛片免费视频观看 | 亚洲av永久无码精品天堂动漫 | 天天做天天爱天天爽综合网 | 久久精品国产免费中文 | 国产视频不卡 | 麻豆亚洲精品一区二区 | 亚洲 欧美 综合 在线 精品 | 国产公开免费人成视频 | 青青草国产青春综合久久 | 91精品日本久久久久久牛牛 | 国产高清av首播原创麻豆 |