第二周总结:读资料总结

第二周总结:读资料总结,第1张

目录

一:作业本怎样做节省时间,来源知乎

 二:Re: 从零开始的程序设计竞赛(五)

三:结构体&结构体数组

四:类和对象

五:二分查找

六:递归、深度优先搜索、记忆化搜索、DP动态规划(不熟练)

七:线性表(不熟练)

八:二叉树(看不懂没学会)

九:指针(有些难)

十:总结


一:作业本怎样做节省时间,来源知乎

错题本怎么做省时间? - 知乎 (zhihu.com)

  1. 认真对待试卷,把各科试卷用小夹子整理好
  2.  不能在整理错题上浪费太多时间,不能天天整理错题,假装自己很努力
  3. 不要整理一些没用的,自己未来从来不会再碰一次的错题。


  4. 不要把题目直接抄到错题本上,而是要再做一遍
  5. 错题本一定要随时翻阅,要不记了没用
  6. 不要用手机记错题,可能记一道题玩一小时
 二:Re: 从零开始的程序设计竞赛(五)

Re: 从零开始的程序设计竞赛(五) - 知乎 (zhihu.com)

  1. 不要天天和那些很简单的水题玩,没有意义,不能提高实力
  2. 做题要独立完成,不能查CSDN博客园
  3. 做题后一定要总结,不能一直刷题
三:结构体&结构体数组

(2条消息) 结构体&结构体数组_pl0020的博客-CSDN博客_结构体数组

(2条消息) C语言结构体数组,结构体数组的定义,结构体数组的输出,结构体的应用_北芳科技的博客-CSDN博客_结构体数组

  1. 在题目中可以避免出现超大数组无法编译问题
  2. 比较成员中某一项的值
  3. 结构体数组中的a[i]就像一个对象,而不是一个值
四:类和对象

(2条消息) C++学习:对象和类详细总结_谢小小XH的博客-CSDN博客_c++类和对象

  1.  不改变值的函数后面一定要加const
  2. 一旦有new的使用,意味着新内存空间的开辟和指针的使用,构造函数中用了new,则析构函数中应该使用delete
  3. new和delete应该相互兼容。


    new对应于delete,new []对应于delete[].

  4. 要是有多个构造函数,那么其中使用new的时候应该是用相同的类型.因为只有一个析构函数,只能在构造函数中使用同样的new的方式。


  5. 很据实际情况使用定义一个复制构造函数。


    这样可以进行深度复制,使得每个对象尽可能的保存独立。


  6. 据实际情况重载赋值运算符=,进行深度复制,使得每个对象尽可能的保持独立。


五:二分查找

​​​​​​(2条消息) 不骗你,没读这一篇,你不可能懂二分_兔老大RabbitMQ的博客-CSDN博客

  1. 二分查找代码要背下来
  2. 最短距离最大化问题:保证任意区间距离要比最短距离mid大或相等(这样,mid才是最短距离)即:区间的距离>=mid
  3. 最长距离最小化问题:保证任意区间距离要比最大距离mid小或相等(这样,mid才是最大距离)即:区间的距离<=mid
     
  4. 最长距离最小化问题:保证任意区间距离要比最大距离mid小或相等(这样,mid才是最大距离)即:区间的距离<=mid
六:递归、深度优先搜索、记忆化搜索、DP动态规划(不熟练)

​​​​​​(2条消息) 一道题弄懂递归、深度优先搜索、记忆化搜索、DP动态规划_小小的香辛料的博客-CSDN博客_记忆化深度优先搜索

一道题看懂递归、(深度搜索)dfs、记忆化搜索、动态规划(DP)的差别!_AndrewYB的博客-CSDN博客_dp搜索

DFS就是先选择一条路,走到尽头,如果前面没有路可,就返回,再选择另一条路,如此循环往复,直到把所有路走遍。


在适当情况下选择回溯

七:线性表(不熟练)

数据结构:线性表(List)【详解】_UniqueUnit的博客-CSDN博客_线性表

  1. 线性表(List):零个或多个数据元素的有限序列。


  2. 顺序表无需为元素之间的逻辑关系增加额外的存储空间,可以快速存储某一位置的元素,但是在 *** 作时需要大量的移动元素,线性表长度较大时,难以确定存储容量,造成存储空间的浪费。


  3. 单链表,前后两个元素之间存在逻辑关系,每个节点有数据域和指针域,链表第一个节点称为头指针,以后的称为后继指针

  4. 双向链表时单链表前再加一个前驱指针域。


八:二叉树(看不懂没学会)

什么是二叉树(详细图解)_初念初恋的博客-CSDN博客_二叉树

数据结构--二叉树--详解_清欢有道的博客-CSDN博客_二叉树

 

 二叉树 非线性数据结构

普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。


而完全二叉树更适合使用顺序结构存储。


现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和 *** 作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是 *** 作系统中管理内存的一块区域分段。


  • 堆总是一棵完全二叉树。


二叉树我目前看不懂 以后再看

九:指针(有些难)

C++指针详解-史上最全_Jason_Chen93的博客-CSDN博客_c++指针

*不管挨着哪个,只要是出现了星号,而不管中间是不是有空格,我们便认为,这算是创建了一个指针变量.

创建指针可以初始化也可以不初始化

尽量定义了对象之后再定义指向这个对象的指针,对于不清楚的指向哪里的指针,一律初始化为nullptr(C++11)或者NULL(0).之后再判断是否指向对象再进行相应的 *** 作.

Void*是一种特殊类型的指针,能够用来存放任何类型对象的地址.通俗来说,就是我不知道这个指针指向的是什么类型的对象.

#include 
int main()
{
    void *p_v=&x;
    void *p_v2=p;
    std::cout<<"p_v:"<
十:总结

网课这一周,学习明显懈怠,接下来的一周要改变状态,不能沉迷于做简单的作业题,这样不能提高水平

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/562507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-01
下一篇 2022-04-01

发表评论

登录后才能评论

评论列表(0条)