
数据结构
予我欢喜
这个作者很懒,什么都没留下…
展开
-
单链表、双链表、循环链表 大文件查找常见面试问题
一 单链表的逆置(O(1)空间复杂度)方法一:头插法(迭代法)算法思想:逆置链表初始为空,表中节点从原链表中依次“删除”,再逐个插入逆置链表的表头(即“头插”到逆置链表中),使它成为逆置链表的“新”的第一个结点,如此循环,直至原链表为空。void converse(LinkList *head) { LinkList *p,*q; p=head->next;...原创 2019-08-02 17:48:49 · 629 阅读 · 0 评论 -
高级数据结构之二叉树、二叉搜索树、平衡树、红黑树
概念:二叉树是最多只有左右两个节点的树;二叉搜索树是在二叉树的基础上,加入了限制:根节点的值大于左子树上的所有值;根节点的值小于右字树上的所有值;左右节点拆分的两个二叉树同时也是二叉搜索树。平衡树:平衡树是在二叉搜索树的基础上,加入了限制:每个节点的高度差不超过1.红黑树:平衡树是在二叉搜索树的基础上,加入了限制:每个节点有红或黑颜色;root必须是黑色的;所有叶子节点都是黑色的,是空节点...原创 2019-08-01 15:03:03 · 815 阅读 · 0 评论 -
stl库中map set multimap multiset的使用
1:自动排序:map set multimap multiset 是有序容器,即插入的数据会自动排序,但因为multimap multiset允许key值重复,所以key值相同的元素是不会进行排序的,要注意使用哦。2:insert的使用: map set插入时,先判断 key是否已经存在,存在则不插入,不存在则插入;multimap multiset插入是可以成功地(key重复也可以)3:...原创 2019-08-08 15:15:36 · 255 阅读 · 0 评论 -
设计模式-单例模式、观察者模式、工厂模式、代理模式、装饰器模式、适配器模式
首先单例模式:单例模式的实例化饿汉模式:在类加载的时候就已经初始化完成,不需要考虑线程安全问题#pragma once #include <iostream>using namespace std;class Singleton{private: Singleton(){ cout << "创建了一个单例对象" << end...原创 2019-08-10 14:55:44 · 824 阅读 · 0 评论