儿转数据结构案例_第1页
儿转数据结构案例_第2页
儿转数据结构案例_第3页
儿转数据结构案例_第4页
儿转数据结构案例_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

删除链表中的元删除链表中的元在链表中删除值为val的所有节如返1->2->6->3->4->5->6->NULL,要求删除值为6的节1->2->3->4->5---实践实践:解决203,不使用虚拟头结实践实践:测试leetcode上的链表程实践实践:解决203,使用虚拟头结递归递归与递归的宏观递本质上,将原来的问递本质上,将原来的问题,转化为更小的同一问举例:数组求更小的同一问Sum(arr[0…n-1])=arr[0]+Sum(arr[1…n-1]更小的同一问Sum(arr[1…n-1])=arr[1]+Sum(arr[2…n-1]Sum(arr[n-1…n-1])=arr[n-1]+Sum([]最基本的问实践实践:递归数组求递注意递归函数的“宏观”语递归函数就是一个递注意递归函数的“宏观”语递归函数就是一个函数,完成一个功计arr[l…n)范围里的数字staticintsum(int[]求解最基本问把原问题转化更小的问+l+}链表链表和递链表天然的递归012340一个更短的链表(少了一个节点链表天然的递归012340一个更短的链表(少了一个节点解决链表中删除元素的一个更短的链表(少了一个节点e递归解决删除这个解决链表中删除元素的一个更短的链表(少了一个节点e递归解决删除这个更小的链表中相应的元如果e需要删如果e不需要删ee实践实践使用递归思路求栈的应程序调用的系统栈23}栈的应程序调用的系统栈23}23}23}…+l+}递归函数的调用,本质就是函数调只不过调用的函数是自递归函数的调用,本质就是函数调只不过调用的函数是自己而l+x=+=}=调用=+x=调用=+xl+=}=调用=+x=调用=+xl+=}=调用调用sum(arr,==++x=调用调用sum(arr,==++xl+xl+==}}=调用调用sum(arr,==++x=调用调用sum(arr,==++xl+xl+==}}=调用调用调用sum(arr,===+++xl+=调用调用调用sum(arr,===+++xl+xl+xl+===}}}=调用调用调用sum(arr,===+++xl+x=调用调用调用sum(arr,===+++xl+xl+xl+===}}}x=0=调用调用调用sum(arr,===+++xl+x=调用调用调用sum(arr,===+++xl+xl+xl+===}}}0=x==调用调用调用sum(arr,===+++xl+x=调用调用调用sum(arr,===+++xl+xl+xl+===}}}0=x==调用调用调用sum(arr,===+++xl+x=调用调用调用sum(arr,===+++xl+xl+xl+===}}}0=x==调用调用调用sum(arr,===+++xl+xl+=调用调用调用sum(arr,===+++xl+xl+xl+===}}}0=x=x==调用调用调用sum(arr,===+++xl+xl+x=调用调用调用sum(arr,===+++xl+xl+xl+===}}}0=x==x==调用调用调用sum(arr,===+++xl+xl+x=调用调用调用sum(arr,===+++xl+xl+xl+===}}}0=x==x==调用调用调用sum(arr,===+++xl+xl+x=调用调用调用sum(arr,===+++xl+xl+xl+===}}}0=x==x={123}=?:模拟调用,删除6->7->8-6787881212121???867{123}=?:模拟调用,删除6->7->8-6787881212121???867{123}=?:模拟调用,删除6->7->8-67878831212121??8678{123}=?:模拟调用,删除6->7->8-67878831212121??8678{123}=?:模拟调用,删除6->7->8-678788312123121?867888{123}=?:模拟调用,删除6->7->8-678788312123121?867888{123}=?:模拟调用,删除6->7->8-6787883123123121868786888{123}=?:模拟调用,删除6->7->8-6787883123123121868786888{123}=?:模拟调用,删除6->7->8-6787883123123121868786888{123}=?:模拟调用,删除6->7->8-6787883123123121868786888栈的应程序调用的系统栈23}栈的应程序调用的系统栈23}23}23}…栈的应程序调用的系统栈递归调用是有代价的栈的应程序调用的系统栈递归调用是有代价的:函数调用+系统栈空23}23}23}…调试调试递归程实践实践:调试递归程更多更多和链表相关的更多和链表更多和链表相关的关于递近乎和链表相关的所有操作,都可以使用递归的形式完建议同学们对链表的增,删,改,查,进行递归实有问题在问答区讨论交更多和更多和链表相关的Leetcode上和链表相关的问有问题在问答区讨论交更多更多和链表相关的玩转算法面试课更多和链更多和链表相关的斯坦福大学的链表问题文档地址在问答区放有问题在问答区讨论交双链0123401234双链0123401234双链01234E{}双链0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论