摘要: 问题转载自:https://stackoverflow.com/questions/4937180/a-base-class-pointer-can-point-to-a-derived-class-object-why-is-the-vice-versa 看到这个问题,我的想法就是这不就是包含和被 阅读全文
posted @ 2019-04-14 22:26 zpchya 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 对于链表的中某个位置结点的定位一般都会用到两个链表结点指针,例如链表倒数第K个结点问题使用的是先后指针,该题中用到的快慢指针。 本题的具体解法就是快指针走两步、慢指针走一步知道遍历完结点,重点是分清题目所要求的中间结点。本题中如果链表长度n为偶数,那么中间结点位置就为n / 2 + 1;为奇数,中间 阅读全文
posted @ 2019-04-14 20:32 zpchya 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1 栈的定义 栈是限定在表尾进行插入和删除操作的线性表。 2 栈的特点 1)栈是特殊的线性表,线性表也具有前驱后继性; 2)栈的插入和删除操作只能在表尾即栈顶进行; 3)后进先出。 3 栈的实现及关键点 3.1 顺序栈 3.1.1 关键点 1)顺序栈用数组实现,可以将栈底和索引为0的数组空间对齐以降 阅读全文
posted @ 2019-04-11 20:15 zpchya 阅读(825) 评论(0) 推荐(0) 编辑
摘要: 1 循环链表 1.1 循环链表的定义 循环链表是一种特殊的单链表,将单链表中尾结点的指针域由空指针改为指向链表的头结点。 1.2 循环链表的实现及关键点 1.2.1 关键点 单链表和循环链表的唯一区别就是尾结点的指针值,所以循环判断时,由原来的是否为空,现在则是是否为头结点,则循环结束。 1.2.2 阅读全文
posted @ 2019-04-09 14:55 zpchya 阅读(795) 评论(0) 推荐(0) 编辑
摘要: 1 链表的出现背景 线性表的顺序存储有两个大的缺点:一是链表长度有限,只能存储有限的数据元素,当我们无法确定数据元素数量时顺序存储将无法满足我们的需求;二是插入删除操作的时间复杂度为O(n)。为了解决上述问题,所以有了线性表链式存储的的出现。 2 链表是什么? 用一组任意的存储单元存储线性表的数据, 阅读全文
posted @ 2019-04-08 22:21 zpchya 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 1 数组的出现背景 数组是为了解决连续存储一组同类型数据元素的问题。 2 数组是什么? 数组是用一段地址连续的存储单元依次存储一组相同类型数据元素的线性表结构。 3 数组的特点 1)随机存取:根据数组的下表对数据元素随意读取或修改,时间复杂度为O(1)。随机访问是数组这个数据结构最大的特点; 2)操 阅读全文
posted @ 2019-04-08 15:14 zpchya 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 1 为什么要对算法进行复杂度分析? 数据结构与算法就是为了解决如何更省的存储数据、如何更快的处理数据的问题,那么就必须有一个准则对“更快”、“更省”进行判断。 ok,可以,既然咱们要分析算法的执行时间和运行时占用的内存,那好办呀,咱们就在Visual Studio上把代码跑一遍就可以了。 这种测试方 阅读全文
posted @ 2019-04-07 14:05 zpchya 阅读(272) 评论(0) 推荐(0) 编辑
摘要: http://norvig.com/21-days.html 我们经常能看到“7天搞定51单片机”、“21天学会C++”这样样式的标题,编程真的很容易吗?似乎比其他事情要简单很多呀!是的,糟糕的编程确实很简单,傻子也可以学会它,但是优秀的程序不是一周或者是一个月就可以写出来的,它需要10年的不断练习 阅读全文
posted @ 2019-04-06 18:55 zpchya 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 在stackoverflow看到一个标题描述的问题,问题链接是:https://stackoverflow.com/questions/55524140/is-delete-p-an-alternative-to-delete-p/55524252#55524252。下面一起来看看它。 有一段来自微 阅读全文
posted @ 2019-04-05 23:51 zpchya 阅读(663) 评论(0) 推荐(0) 编辑
摘要: 2019/04/03 方法一:遍历两次链表,第一次遍历得到链表的长度,第二次遍历找到倒数第n个节点并删除它。 时间复杂度为O(6n),空间复杂度为O(1) 方法二:遍历一遍链表,遍历链表的同时将各节点地址放入容器中,遍历结束后通过容器下表删除倒数第n个节点。 时间复杂度为O(4n),空间复杂度为O( 阅读全文
posted @ 2019-04-03 23:18 zpchya 阅读(121) 评论(0) 推荐(0) 编辑