数据结构
精钩子娃
没有啥是学不会的,如果有,就再学一会儿
展开
-
数据结构笔记(三)
上次分享中,我们分享了算法定义以及算法的时间复杂度和空间复杂度,在本次分享中,将讨论什么是线性表,以及线性表的基本运算。线性表的逻辑定义(1) 线性表,Linear_List是最简单和最常用的一种数据结构。(2) 线性表是由n个数据元素(结点)a1,a2,…,an组成的有限序列。类比数学中的数列概念。其中我们规定数组元素的个数n为该线性表的长度,size。当n为零时,称为空表。(3)...原创 2019-01-25 09:45:41 · 104 阅读 · 0 评论 -
方法和函数的区别
在日常的撸码中,有很多朋友会对方法和函数这俩个概念有所混淆,在我看来,这俩个概念很有区别,今天就给大家详细讲解一下子。 1、方法是特殊的函数,可以说是函数的子集 2、方法平常往往是和类有关的,是我们在面向对象语言中会提到,用到的。 3、函数是一一映射的关系,给定一个变量,则会出现一个确定的值。 下面我们具体分析一下。 在C语言中,不存在方法这一说,因为C语言是面向过程的语言;而在Java...原创 2019-01-20 19:59:11 · 12928 阅读 · 4 评论 -
数据结构笔记(一)
这篇文章是我自己在学数据结构的课堂笔记,手下吗欢迎大家看呦,同时有哪些不对的地方,也欢迎大家能够指出来,希望大家一块探讨呀~~数据结构的起源  1. 数值计算与非数值计算  2. 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。&原创 2019-01-22 00:01:48 · 362 阅读 · 1 评论 -
数据结构笔记(二)
在上次分享中,我分享了数据结构的一些基本概念,大家都知道,数据结构和算法是密不可分的,本次我将讨论算法的基本概念,以及时间复杂度等问题什么是算法算法是针对问题根据问题的特性来预先设计的求解过程算法的五大特性1、0个或多个输入  2、至少一个输出  3、有穷性 &原创 2019-01-23 23:19:49 · 188 阅读 · 0 评论 -
最大堆的构建过程
今天在刷题的时候,看到了一个关于堆的构建的过程,题目是这样的之前碰见了都直接绕过不想做,今天研究了一下,挺简单的。来跟大家分享一下。首先,关于到堆的构建的过程。其实就是将给的这个数组用二叉树来表示。然后从n/2个节点开始,往前依次调整。如下图那么,我们现在再回过头来看题目,要求是前序遍历,那么答案即就是190,160,90,30,70,80,10,130,100,40。...原创 2019-07-24 15:38:03 · 8804 阅读 · 2 评论 -
俩个单链表第一个公共节点
如题,题目要求找寻俩个单链表的第一个公共节点,如果有公共节点,则返回这个公共节点,否则返回None首先,分析问题,单链表如果有公共节点,即肯定是这样的常规做法:首先看哪个链表长,长链表先走(他们的差)步,然后再一起遍历,有公共节点则返回,没有返回None,但是这种太麻烦了,你还得分别遍历俩个链表,分别求其长度,求到长度以后,然后再开始遍历。有兴趣的写一下吧。今天要介绍的这种方法,很简洁。...原创 2019-08-19 17:27:34 · 217 阅读 · 0 评论 -
python解决背包/背包变形问题
01背包问题有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。例如:背包的承重为10,现在有a,b,c,d,e五件物品,每件物品的重量分别为2,2,6,5,4,价值分别为6,3,5,4,6输入:第一行输入背包最大承重量第二行输入n个物品的重量第三行输入...原创 2019-09-14 19:51:53 · 322 阅读 · 0 评论