数据结构与算法
Hi Man
这个作者很懒,什么都没留下…
展开
-
数据结构之链表翻转(递归法)
数据结构之链表翻转翻转之前:翻转之后:分析:对链表的操作最终都会反映到对单个元素的操作。对于单链表中的每个元素本身的属性比较简单,就两个域,一个是value,一个是指针域 next。所以,解决链表问题,就是轮询链表中的每个节点,在轮询过程中处理需要处理的节点。框架如下:void Link::foreach(header){ if(终止条件) { 终止时需要的action } // 需要正序遍历时的动作加到这里 action 1;原创 2020-12-02 08:14:42 · 490 阅读 · 0 评论 -
数据结构之单链表插入,遍历(递归实现)
单链表插入,遍历单链表的插入简单来说就是找到位置,然后将元素插入。如何找? 循环遍历找位置,因为链表的每个节点在内存中的存储位置是非连续的,所以不能像数组那样通过下标位移找到每个元素,而是需要借助元素的 next 域挨个找到目标位置。数据结构中的遍历分为两种,一种是循环,比如 while(…),for (…),一种是递归,没错,递归就是一种遍历。递归法插入代码如下:void Link::insert(int value, int location){ insert(value, loc原创 2020-11-30 22:34:09 · 2128 阅读 · 0 评论 -
你必须知道的八大数据结构面试题!
瑞士计算机科学家Niklaus Wirth在1976年写了一本书,名为《算法+数据结构=编程》。40多年后,这个等式仍被奉为真理。这就是为什么在面试过程中,需要考察软件工程师对数据结构的理解。几乎所有的问题都需要面试者对数据结构有深刻的理解。无论你是初入职场的新兵(刚从大学或者编程培训班毕业),还是拥有几十年经验的职场老鸟。有些面试题会明确提及某种数据结构,例如,“给定一个二叉树。”而另一些...转载 2020-03-06 12:42:32 · 1071 阅读 · 0 评论 -
数据结构与算法之逻辑结构与物理结构
什么是逻辑结构与物理结构?逻辑结构是指数据对象中数据元素之间的相互关系。分为:集合结构:线性结构:树状结构:图形结构:每个圆圈代表一个数据元素。连线代表元素之间的 逻辑关系,并且这种关系是建立在具体问题之上的。物理结构是指逻辑结构在计算机内存中的存储形式。有两种存储形式:顺序存储结构:数据元素被存放到连续的存储单元中,数据间的逻辑关系和物理关系是一致的。链式存...原创 2019-06-02 11:13:57 · 1155 阅读 · 0 评论 -
数据结构与算法之算法基础
什么是算法?算法是为解决特定问题的步骤的描述,在计算机中表示为指令的有限序列,每条指令表示一个或多个操作。算法有五个特性:输入,输出,有穷性,确定性,可行性。好的算法具有 可读性,健壮性,时间效率高和存储低的特点。如何度量算法的效率呢?事后统计方法与事前分析估算方法两种。事后统计方法意义不大,一个是有些算法测试起来比较困难,而是测试结果依赖硬件的好坏。所以一般采用事前分析估算方法,高...原创 2019-06-02 12:47:25 · 180 阅读 · 0 评论