E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
数据结构与算法学习笔记
数据结构与算法学习笔记
本文是王争老师的《算法与数据结构之美》的学习笔记,详细内容请看王争的专栏。有不懂的地方指出来,我做修改。数据结构与算法思维导图数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。数据结构是为算法服务的,算法是要作用再特定的数据结构上的。最常用的数据结构预算法:数据结构:数组、链表、栈、队列、散列表、二叉树‘、堆、跳表、图、Tire树算法:递归、排序、二分查找、搜索、哈希算法、贪
上海招人找我呀-待业中
·
2018-09-25 13:49
数据结构与算法学习笔记
#
数据结构与算法学习笔记
#剑指Offer9:矩形覆盖智力题+斐波那契数列(Java、C/C++)
2018.8.4《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门矩形覆盖这道题实际上是变相的斐波那契数列,思路完全相同,代码也完全相同,可以参考之前的两篇:#
数据结构与算法学习笔记
#剑指Offer7
NJU_ChopinXBP
·
2018-08-04 15:15
JAVA
数据结构与算法
#
数据结构与算法学习笔记
#剑指Offer8:普通青蛙跳台阶+变态青蛙跳台阶+最清晰数学归纳法证明(Java、C/C++)
2018.8.3《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门普通青蛙跳台阶问题实际上是一道斐波那契数列的题目,可以直接参考上一篇对斐波那契数列的算法分析和实现的文章——#
数据结构与算法学习笔记
NJU_ChopinXBP
·
2018-08-03 15:26
C/C++
JAVA
数据结构与算法
#
数据结构与算法学习笔记
#剑指Offer5:用两个栈实现队列(Java、C/C++)
2018.7.31《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门栈是后进先出,队列是先进先出,因此用两个栈正好可以模拟一个队列。每次进栈压入栈1,出栈时如果栈2没有元素,先从栈1弹出装入栈2,然后弹出栈2元素;如果栈2仍有元素,则依次弹出。题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。JAVA实现:/****@authorChopinXBP
NJU_ChopinXBP
·
2018-07-31 10:11
数据结构与算法
剑指Offer
C/C++
JAVA
#
数据结构与算法学习笔记
#剑指Offer4:先序遍历+中序遍历重建二叉树(Java、C/C++)
2018.7.30《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门思路其实和之前做过的#
数据结构与算法学习笔记
#PTA11:先序遍历+中序遍历转后序遍历/二叉树非递归遍历/二叉树栈遍历(JAVA
NJU_ChopinXBP
·
2018-07-30 09:53
C/C++
JAVA
数据结构与算法
数据结构与算法学习笔记
(1)--基本概念
数据结构+算法=程序数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。算法(Algorithm)是解决特定问题的步骤的描述,是解决问题的思想方法。程序是计算机语言的具体实现。一、数据结构1.相关概念数据:信息的载体,能被计算机识别、存储和加工处理。数据元素:数据的基本单位,可由若干个数据项组成,数据项是具有独立含义的最小标识单位。数据类型:一个值的集
王建峰
·
2018-07-12 21:19
数据结构与算法
数据结构与算法学习笔记
(一)
本篇主要内容为数据结构与算法的入门和基本概念的了解自学Java有了一段时间了,也参加了几个公司的笔试,结果发现,对于校招的同学来说,笔试中对于数据结构与算法的考察还是比较多的,这一系列的博客是对最近学习的数据结构与算法的记录,算是一个小小的读书笔记吧。数据结构是计算机中存储、组织数据的方式。精心选择的数据结构可以带来最优效率的算法。学习之前先来看几个例子:1、思考一个问题,如果你是一个图书馆管理员
Zhang_hongxin
·
2018-07-05 17:09
数据结构与算法
python
数据结构与算法学习笔记
(一)
源于github上的一个10k+star项目传送门本系列记录思路,以作备忘array数组delete_nth删除第n次出现的元素importcollections#input=[1,2,3,1,2,1,2,3]#target=[1,2,3,1,2,3]#因count实现为遍历对象,构建dict返回,故时间复杂度为O(n^2)defdelete_nth_naive(array,n):ans=[]fo
相忘i
·
2018-06-23 15:46
数据结构与算法学习
#
数据结构与算法学习笔记
#PTA17:哈夫曼树与哈夫曼编码 Huffman Tree & Huffman Code(C/C++)
2018.5.16最近一段时间忙于实验室各种项目和辅导员的各种杂活,间隔了半周没有耐下心学习。导师最近接了一个要PK京东方的项目让我来做总负责,确实是很惊喜了。责任心告诉我不能把工作做水了,但是还是尝试把实权移交给师兄们比较好。这道题可以说是树这块的压轴题了,无论是代码量还是思维难度都和其他题目不在一个档次。题目意思是给定一个带权的输入序列,和N个与带权输入序列元素相同的编码测试序列,若编码符合最
NJU_ChopinXBP
·
2018-05-16 18:44
PTA
C/C++
数据结构与算法
#
数据结构与算法学习笔记
#PTA11:先序遍历+中序遍历转后序遍历/二叉树非递归遍历/二叉树栈遍历(JAVA)
2018.4.18这道题说的是利用栈来模拟二叉树,通过栈的出入情况,模拟出这棵二叉树,并后序遍历打印这棵二叉树。这题关键点在于理解二叉树的非递归遍历,能够看得出入栈顺序就是二叉树的先序遍历序列,出栈顺序就是二叉树的中序遍历序列。理解了这点这道题就转换成已知先序遍历+中序遍历,打印二叉树的后序遍历的问题了。有两个思路:1.根据先序遍历和中序遍历先构建一棵二叉树,再后序遍历打印这棵树;2.直接通过先序
NJU_ChopinXBP
·
2018-04-18 12:17
JAVA
PTA
数据结构与算法
#
数据结构与算法学习笔记
#PTA6:链表翻转升级版(C/C++)
2018.3.26输入一个乱序表,每个结点包含当前地址、值、下一地址。给定乱序表结点数N和翻转周期K,把输入的乱序表按照周期K进行翻转。注意几个测试点:1.小于周期K的尾巴不翻转,2.有不在链表上的多余输入结点,3.取最大值N=100000时运行时间不能过长。GivenaconstantKandasinglylinkedlistL,youaresupposedtoreversethelinksof
NJU_ChopinXBP
·
2018-03-26 23:04
PTA
C/C++
数据结构与算法
数据结构与算法
PTA
链表翻转
#
数据结构与算法学习笔记
#PTA2:顺序链表合并(C/C++)
2018.3.15本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。L1和L2是给定的带头结点的单链表,其结点存储的数据是递增有序的;函数Merge要将L1和L2合并为一个非递减的整数序列。应直接使用原序列中的结点,返回归并后的带头结点的链表头指针。//Add_two_List.cpp:定义控制台应用程序的入口点。//本题要求实现一个函数,将两个链表表示的递增整数序列合
NJU_ChopinXBP
·
2018-03-15 21:07
PTA
C/C++
数据结构与算法
#
数据结构与算法学习笔记
#PTA1:二分查找算法(C/C++)
2018.3.14L是用户传入的一个线性表,其中ElementType元素可以通过>、==、、==、#include#defineMAXSIZE10#defineNotFound0typedefintElementType;typedefintPosition;typedefstructLNode*List;structLNode{ElementTypeData[MAXSIZE];Position
NJU_ChopinXBP
·
2018-03-15 21:03
PTA
C/C++
数据结构与算法
数据结构与算法学习笔记
——动态规划的入门与编程实现
本文的内容部分引自:http://hawstein.com/posts/dp-novice-to-advanced.html前言我们遇到的问题中,有很大一部分可以用动态规划(简称DP)来解。解决这类问题可以很大地提升你的能力与技巧,我会试着帮助你理解如何使用DP来解题。这篇文章是基于实例展开来讲的,因为干巴巴的理论实在不好理解。简介动态规划算法通常基于一个递推公式及一个或多个初始状态。当前子问题的
不会做甜点的程序员不是好艺术家
·
2016-08-11 17:46
算法与数据结构
数据结构与算法学习笔记
5
线性表的存储结构:顺序存储结构和链式存储结构顺序存储结构:指的是用一段地址连续的存储单元依次存储线性表的数据元素顺序结构封装需要三个属性:——存储空间的起始位置,数据data,它的存储位置就是线性表存储空间的存储位置、——线性表的最大存储容量:数组的长度MaxSize——线性表的当前长度:length(数组的长度与线性表的当前长度需要区分:数组长度是存放线性表的存储空间的总长度,一般初始化后不变,
翼动动空
·
2016-05-08 21:00
数据结构与算法学习笔记
4
(1)抽象数据类型数据类型:指一组性质相同的值的集合及定义在此集合上的一些操作的总称,例如编程语言的数据类型;数据类型分类:原子数据类型,不可以在分解,如整型,浮点型..结构类型:由若干个类型组和而成,可再分解抽象:是指抽取出事物具体的普遍性的本质,它要求抽出问题的特征而忽略非本质的细节,是对具体事物的一个概括。对已知的数据类型进行抽象——抽象数据类型总结:抽象数据类型(AbstractDataT
翼动动空
·
2016-05-08 15:00
数据结构与算法学习笔记
2
算法:解决问题的方法和技巧算法的五个基本特征 (1)输入:零个或者多个输入 (2)输出:一个或多个输出(算法至少一个输出,可以是打印或者返回) (3)用穷性:执行有限次数后会自动结束,不会无限循环,每个步骤在指定时间内完成 (4)确定性:每个步骤具有确定的含义,无二义性。相同输入只有唯一的输出,每个步骤确定无歧义 (5)可行性:每一步都必须是可行的,每一步都能通过执行有限次数完成算法的设计要求:
翼动动空
·
2016-05-08 14:00
数据结构与算法学习笔记
1
数据结构概述:程序设计=数据结构+算法 数据结构:数据元素之间存在所有特定关系的集合,数据结构可以分为物理结构和逻辑结构逻辑结构: (1)集合结构——元素同属于一个集合 (2)线性结构——一对一的关系 (3)树形结构——一对多的关系 (4)图形结构——多对多的关系物理结构:数据元素存储到存储器上 1、数据元素 (1)顺序存储结构——地址连续存储,逻辑地址和物理地址相同(如数组结构) (2)链式存储
翼动动空
·
2016-05-08 14:00
数据结构与算法学习笔记
(五)
静态链表:用数组描述的链表叫做静态链表,这种描述方法叫做游标实现法线性表的静态链表存储结构#defineMAXSIZE1000 typedefstruct{ ElemTypedata;//数据 intcur;//游标(Cursor) }Component,StaticLinkList[MAXSIZE];对静态链表进行初始化相当于初始化数组StatusIntList(StaticLinkLi
TigerCui
·
2016-03-16 14:00
数据结构与算法学习笔记
(四)
单链表的整表创建声明一结点p和计数器变量i初始化一空链表L让L的头结点的指针指向NULL,即建立一个带头结点的单链表循环实现后继结点的赋值和插入头插法:从一个空表开始,生成新节点,读取数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头上,直到结束位置。简单来说就是把新加进的元素放在表头后的第一个位置先让新结点的next指向头结点之后然后让表头的next指向新结点voidCreateLis
TigerCui
·
2016-03-08 11:00
数据结构与算法学习笔记
(三)
线性表(List):由0个或多个元素组成的有限序列。首先它是一个序列,也就是说元素之间是有个先来后到的顺序若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素都有且只有一个前驱和后继线性表是有限的,事实上无论计算机发展到多强大,它所处理的元素都是有限的线性表用数学语言来定义:若将线性表记为(a1,a2,……,ai-1,ai,ai+1,……,an-1,an),则表中ai-1领先于ai,
TigerCui
·
2016-03-02 17:00
数据结构与算法学习笔记
(二)
算法效率的度量方法:事后统计法:通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低。缺陷:必须依据算法事先编制好测试程序,通常需要花费大量时间和精力。不同测试环境差别也很大。事前分析估算法:在计算机程序编写签,依据统计方法对算法进行估算。高级语言编写的程序在计算机上运行时所耗的时间取决于下列因素:算法采用的策略,方案编译产生的代码质量问题的输
TigerCui
·
2016-02-26 10:00
数据结构与算法学习笔记
(一)
我们把数据结构分为逻辑结构和物理结构逻辑结构:是指数据对象中数据元素之间的相互关系。物理结构:是指数据的逻辑结构在计算机中的存储形式。四大逻辑结构:集合结构:集合结构中的数据元素除了同属于一个集合外没有其他的相互关系。线性结构:线性结构中的数据元素之间是一对一的关系。树形结构:树形结构中的元素之间存在一种一对多的层次关系。图形结构:图形结构的元素之间是多对多的关系。物理结构:物理结构主要研究如何把
TigerCui
·
2016-02-25 14:00
数据结构与算法学习笔记
——链表部分实现(数组形式)
/****************************************************************************************************** *Copyright(C); *Filename: *Author: *Version: *Date: *Description: ******************************
copica
·
2013-10-15 23:00
数据结构与算法学习笔记
——堆排序
/********************************************************************** *Copyright(C): *Filename:heapsort.c *Author: *Version: *Date: *Description: ****************************************************
copica
·
2013-10-08 12:00
数据结构与算法学习笔记
——队列
/******************************************************** *Copyright(C): *Filename:queue.c *Author: *Version: *Date: *Description: ********************************************************/ #include #
copica
·
2013-10-03 20:00
java
数据结构与算法学习笔记
(2)——数组及ArrayList
从概念上可知,数组属于线性表(逻辑上一一对应关系),数组在物理内存上采用顺序存储结构。当创建一个数组的时候,就必须确定它的大小,系统会在内存中开辟一块连续的空间,用来保存数组。 优点:可根据索引快速的查找元素。 缺点:大小不可变。(确切应该讲,不能往一个放满元素的数组里再添加新的元素) ArrayList正是保留了数组可以快速查找的优势,同时,又弥补了数组在创
蛋呢823
·
2011-03-15 01:00
java
jdk
数据结构
算法
百度
java
数据结构与算法学习笔记
(1)——概念
今天复习了数据结构,才发现很多概念都不懂,或是没有分清楚。晚上跟MZD讨论的时候,发现我们都对数据结构的某些地方都存在着误解。因此深感弄清概念的重要,至少弄清概念可以应付二级、三级。 数据结构 数据结构是计算机存储、组织数据的方式。 数据元素相互之间的关系称为结构。 有四类基本结构:集合、线性结构、树形结构、网状结构。 集合结构中的数据元
蛋呢823
·
2011-03-14 02:00
java
数据结构
算法
百度
上一页
1
2
3
4
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他