自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

earayu的博客

记录数据结构与算法学习过程

  • 博客(6)
  • 收藏
  • 关注

原创 C++数据结构: 二叉搜索树 (非递归)

理想情况下BST的插入删除查找花费的时间都是对数级别的,但我们肯定不能依赖“理想情况”。基于下面3个理由: 1. 很多时候输入得序列都是有序或基本有序的 2. 访问一个节点过后很可能再次访问这个节点,或者这个节点附近的节点。 3. 多次删除过后会破坏树的平衡性(可以改变一下删除方式来解决,但是这样的代价比较大)而BST在最差的请况下会退化成一个链表,这显然不是我们想要的结果。所以感觉BST的实

2015-11-17 14:10:00 556

原创 C++数据结构: 链表

我用Java写的链表是带头尾节点的双向链表,这次用C++透彻一点,不带头尾节点的单向链表。 实现了一些常用方法,没顺序表详细。链表的查找、插入、删除的时间复杂度都是O(N)。因为它要遍历到指定位置,如果在原地进行上述操作的话,时间复杂度为O(1)。但总归是比不过顺序表,这大概就是为什么我们总是被教导:大部分时间都只需要vector(ArrayList)!但链表还是有它自己的优势的,以它为基础的高级

2015-11-14 21:15:17 399

原创 C++数据结构: 顺序表 详细实现

相比于我用Java实现的顺序表,用C++实现更加繁复,因为要自己管理内存,但思想还是一样的。代码复杂度的提升也意味着性能上的提升。C++的迭代器跟Java不同,它的底层是个指针。开始喜欢Java迭代器的直白,然后慢慢喜欢上C++迭代器的灵活,各有千秋。以下的CppArrayList,函数的复杂度都写在旁边。#ifndef CPP_ARRAYLIST_H #define CPP_ARRAYLIST_H

2015-11-12 17:47:05 530

原创 Python: 利用163邮箱远程关电脑小脚本

学了一个礼拜Python之后写的,代码很粗糙,只是为了完成功能。直接把代码发上来吧。要执行的话得先安装一些模块,看import语句。十月初写的,写完这个之后就没怎么写python了,忘得厉害。 本来想从mail.163.com模拟登录的,但这个网页提交按钮是个, 有点复杂,搞了几个小时搞不定。 我就绕了一下,从http://reg.163.com/logins.jsp 登录。这个页面登录会被拦截,还

2015-11-11 23:19:56 1515

原创 C++: 拷贝管理

《C++ Primer》看到这一章我都惊呆了,C++竟然还能有这种功能:类可以控制该类型对象拷贝、赋值、移动和销毁时做什么。 以上操作通过:拷贝构造函数、移动构造函数、拷贝赋值运算符、移动赋值运算符、以及析构函数构成。拷贝构造函数:定义: 如果一个构造函数的第一个参数是自身类类型的引用,且任何额外参数都有默认值,则此构造函数是拷贝构造函数。本质上是个构造函数,所以它出现就会构造新对象,没有新对象它

2015-11-08 04:03:10 453

原创 C++: 类(class) 随笔

随手记录下一些对C++中类的理解,只是当做自己的学习笔记,大致地列举一下知识点,如有错误,还请指正。 C++类中可以存在的: 1. 成员变量 2. 成员函数 3. 构造器 4. 友元 5. 类型声明 6. 访问说明符 7. 声明成员变量:C++的类中的成员变量可以在定义的时候初始化,也可以在构造器中初始化。如果都没有的话,会使用默认初始化。这样是非常危险的!如int型就会生成一个随机值

2015-11-03 23:21:32 469

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除