数据结构与算法
从今天开始,迈过“数据结构与算法”这道坎
ZMK_02
talk is cheap, show me your code!
展开
-
02-链表练习2——有序链表合并
1. 题目 输入两个递增排序的链表,合并这两个链表并使新链表的节点仍然是递增的。例如下图链表1和链表2,则合并 之后的升序链表如链表3所示。链表节点定义如下 struct ListNode { int m_nValue; ListNode* m_pNext; } 2 题析 解题思路分两步: 1)明确合并过程 2)代码鲁棒性的考虑,即需考虑特殊情况,如链表1空,链表2非空,或反过来,或两者都空 分...原创 2020-04-07 15:20:16 · 150 阅读 · 0 评论 -
02-链表练习1——反转链表
1.题目 将一个链表m位置到n位置之间的区间反转,要求使用原地算法,并且在一次扫描之内完成反转。 例如:给出的链表为1->2->3->4->5->NULL, m = 2 ,n = 4, 返回1->4->3->2->5->NULL. 注意: 给出的m,n满足以下条件: 1 ≤ m ≤ n ≤ 链表长度 /** * De...原创 2020-04-04 22:41:38 · 295 阅读 · 0 评论 -
02-链表基础
1.写在前面 众所周知,链表的最常见的数据结构之一。此外,提起链表,不得不说“数组”,这两者经常用来比较。学习链表和数组最重要 明确两者的内存布局以及在什么场合使用。下面对比下两者的区别 2.数组VS链表 2.1 数组 内存布局:定长的连续内存空间 优劣势: 优势:.“下标查找”的时间复杂度为O(1)(注意是“下标查找”),即具有“随机访问”的特定 劣势:1)增加和删除的时间复杂度为...原创 2020-04-02 16:54:25 · 189 阅读 · 0 评论 -
01-复杂度分析与学习策略
2.为什么要学数据结构和算法? 1.面试、编程角度 1.1 通关大厂面试 1.2 日常业务中不再CRUD,提高代码质量(有助于阅读框架源码、背后设计思想。更好处理日常业务需求) 1.3 更高的要求、追求,高手之间比内功、细节 2.个人角度 2.1 不被行业淘汰,不再原地踏步 2.2 对编程要有追求、不要满足现状 2.3 训练大脑思维,对生活、事业都有裨益 3. 如何学数据结构与算法? 什么是数据...原创 2020-03-22 22:36:51 · 126 阅读 · 0 评论