数据结构学习笔记【持续更新】

数据结构概述:

  定义:

    我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到保存到主存储器(内存)中,

    以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行相应的操作,

    这个相应的操作也叫算法

    数据结构 = 个体 + 个体的关系

    算法 = 对存储数据的操作

  算法:

    解题的方法和步骤

    衡量算法的标准:

          1.时间复杂度:大概要执行的次数,而非执行的时间(最重要的)

          2.空间复杂度:算法执行过程中大概所占用的最大内存(最重要的)

          3.难易程度

          4.健壮性

  数据结构的地位:数据结构是软件中最核心的课程

          程序 = 数据的存储 + 数据的操作 + 可以被计算机执行的语言

 预备知识:

    指针:

      指针的重要性:指针是C语言的灵魂

      定义:

        地址:内存单元的编号,从0开始的非负整数,范围:0-FFFFFFFF【0-4G-1】

        指针:

          指针就是地址,地址就是指针

          指针变量是存放内存单元地址的变量

          指针的本质是一个操作受限的非负整数

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏owent

再议 C++ 11 Lambda表达式

C++ 11 标准发布,各大编译器都开始支持里面的各种新特性,其中一项比较有意思的就是lambda表达式。

11220
来自专栏诸葛青云的专栏

C语言初学者必须掌握的关键字!

其实小伙伴在写代码的时候,关键字还是用的比较多的,老九主要就平常中用到的常用关键字进行总结,便于小伙伴们更全面的理解其在代码中的意图。

6600
来自专栏Modeng的专栏

Javascript数组系列一之栈与队列

所谓数组(英语:Array),是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。 组成数组的各个变量称为数组的分量,也称为数组的元素...

15050
来自专栏aCloudDeveloper

从一个集合中查找最大最小的N个元素——Python heapq 堆数据结构

Top N问题在搜索引擎、推荐系统领域应用很广, 如果用我们较为常见的语言,如C、C++、Java等,代码量至少也得五行,但是用Python的话,只用一个函数就...

248100
来自专栏程序员互动联盟

【专业技术】C++里面重要的几个关键字的用法

编者按: 这几个关键字非常重要,程序中经常见到他们的身影,但是确切意思有时候还需要多搜索下才能知道。笔者这里把它搬出来,也是希望大家引起重视,努力掌握它。 C+...

37070
来自专栏GreenLeaves

C# 泛型

1、泛型的优势 在日常开发中,我们经常会开发一些特殊的功能,而这个功能适用于多个类型(比如string,int等多种类型),最简单的做法是给每种类型都做一个实现...

200100
来自专栏web前端教室

浅谈数据结构 - 字典

浅淡,真的是很浅。Orz.. 先摆出定义,这里的字典是啥样的? 是以键-值对形式保存数据的一种结构。 现实中比较典型的例子,就是以前的电话本。你想找一个单位的电...

201100
来自专栏微信公众号:Java团长

Java集合框架综述

最近打算复习复习JDK中的集合框架,并尝试分析其源码,这么做一方面是这些类非常实用,掌握其实现能更好的优化我们的程序;另一方面是学习借鉴JDK是如何实现了这么一...

10030
来自专栏编程

Python函数之匿名函数

各位小伙伴,周五快乐! 今天是2017年最后一个工作日,大家都在忙碌些什么呢? 今天我们要讲的是Python函数中的匿名函数 好像函数中的分类及说法很多,但是大...

21560
来自专栏C/C++基础

C++嵌套类与局部类

定义嵌套类的初衷是建立仅供某个类的成员函数使用的类类型。目的在于隐藏类名,减少全局的标识符,从而限制用户能否使用该类建立对象。这样可以提高类的抽象能力,并且强调...

8910

扫码关注云+社区

领取腾讯云代金券