04数据结构课程
博雅勇士
90后,奋斗中,编程爱好者,Linux爱好者,嵌入式软件开发
展开
-
01学习数据结构最最重要的理解点——学会之后就所向披靡
一、介绍1、本篇文章记录于2019.10.19日,看了一个程序看了两个小时才弄明白,特此记录下来。二、数据结构学习理解重点1、假设P是指向双向链表中第i个元素的指针,(1)则该结点ai的数据我们可以用P->data来表示,P->data的值是一个数据元素(2)结点ai的指针域可以用p->next来表示,p->next的值是一个指针2、那么p->next指向...原创 2019-10-19 23:04:12 · 739 阅读 · 0 评论 -
如何判断双向链表是否有环
参考博文01:https://blog.csdn.net/tjy1220646144/article/details/44491793之前参加某面试,考了唯一一道算法题,感觉自己答的不好,在此记下这惨痛的教训!题目是如何判断双向链表中是否存在环,如下图:当时可能也是紧张,并且之前做过判断单链表是否有环的题目,所以就too young too simple的回答按照单链表的方法进行判断,即...转载 2019-11-06 13:41:34 · 1966 阅读 · 0 评论 -
判断是否有环01——单链表判断是否有环
参考博文01:https://blog.csdn.net/u010983881/article/details/78896293文章目录一、如何判断单链表是否存在环方法一、穷举遍历方法二、哈希表缓存方法三、快慢指针(经典,推荐使用)问题那么快慢指针要循环多少次才能判断出单向链表是否有环呢?一、如何判断单链表是否存在环有一个单向链表,链表当中有可能出现“环”,就像题图这样。如何用程序判断出...原创 2019-11-06 12:48:09 · 195 阅读 · 0 评论 -
编程中的链式操作;链式操作应该注意哪些问题?(需要更加完善)
参考:https://baike.baidu.com/item/%E9%93%BE%E5%BC%8F%E6%93%8D%E4%BD%9C/18112085?fr=aladdin链式操作;链式操作应该注意哪些问题?1、作用:链式操作可以方便的实现功能,而且可以精简代码。定义链式操作:编程语言中的链式操作是利用运算符进行的连续运算(操作)。它的特点是在一条语句中出现两个或者两个以上相同的操作...原创 2019-10-19 23:06:04 · 645 阅读 · 0 评论 -
递归专题 01篇——超经典递归算法原理和实现时的经验总结 (4)经典递归问题实战(面试常考)
目录一、引言3、上面的比喻形象地阐述了递归与循环的内涵,那么我们来思考以下几个问题:二、递归的原理和概念4、递归的三要素(极其重要)5、递归算法的编程模型6、递归的应用场景三. 递归与循环四. 经典递归问题实战第一类问题:问题的定义是按递归定义的(1). 阶乘(2). 斐波纳契数列(4). 回文字符串的判断(5). 字符串全排列(6). 二分查找第二类问题:问题解法按递归算法实现(1). 汉诺塔问...原创 2019-11-02 08:38:50 · 1420 阅读 · 0 评论 -
递归专题02篇——本篇依旧讲解递归的原理(超级超级经典)
参考:博文01:https://blog.csdn.net/qmdweb/article/details/80537602递归的学习绝对是一个持久战,没有人可以一蹴而就。一年两年的,很寻常。问题的复杂,加上递归本身的细节,我们想要 ‘学会’,‘学好’,再 ‘用好’,是需要一个漫长的过程的。所以还希望读者有足够的耐心。一:什么是递归?所谓递归,简单点来说,就是一个函数直接或间接调用自身的一...原创 2019-11-04 18:41:41 · 169 阅读 · 0 评论 -
数据结构与算法的应用场景
参考博文01:https://www.cnblogs.com/muyangshaonian/p/9650554.html博文02:https://www.cnblogs.com/lz3018/p/5932198.html博文01常用数据结构的应用场景1、单向链表单向链表适用于只从一端单向访问的场合,这种场合一般来说:(1)、删除时,只适合删除第一个元素;(2)、添加时,只直接添加到...原创 2019-10-31 08:38:49 · 1016 阅读 · 0 评论 -
逆序操作专题01单链表逆序——单链表逆序操作与逆序输出实例 C语言实现(常考面试题编程)
参考博文01:https://blog.csdn.net/win_turn/article/details/50691562一、正确的学习方法1、要想学好数据结构,先画图思考算法理解算法,然后在图上写上核心代码:2、(1)画图理解(2)记忆核心代码实现 面试常考二、3、单链表的逆序输出分为两种情况,一种是只逆序输出,实际上不逆序;另一种是把链表逆序。本文就分别实例讲述一下两种方法。具体...原创 2019-10-25 16:09:03 · 589 阅读 · 0 评论 -
逆序操作专题02——递归和循环两种方法实现单链表逆序(本篇文章优秀)
参考博文01:https://blog.csdn.net/u012124604/article/details/39344483一、 单链表逆序经典的“单链表逆序”问题。很多公司的面试题库中都有这道题,有的公司明确题目要求不能使用额外的节点存储空间,有的没有明确说明,但是如果面试者使用了额外的节点存储空间做中转,会得到一个比较低的分数。如何在不使用额外存储节点的情况下使一个单链表的所有节点逆...原创 2019-11-04 18:57:16 · 399 阅读 · 0 评论 -
逆序操作专题03——双向链表的逆序操作(面试题编程)
参考博文01:https://blog.csdn.net/shltsh/article/details/46486945博文02:https://blog.csdn.net/qiao_yuzhou/article/details/6165969博文03:https://blog.csdn.net/autumn20080101/article/details/7607148一、C语言实现(博...原创 2019-10-19 23:12:58 · 924 阅读 · 0 评论 -
第8章查找——哈希表(散列表)原理详解(大话数据结构)
一、概念散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)...原创 2019-10-31 16:43:58 · 768 阅读 · 0 评论