随笔分类 - 数据结构
摘要:1. 实现一个栈,要求实现出栈,入栈,Min返回最小值的操作的时间复杂度为o(1) 思路:要使这些操作的时间复杂度为o(1),则必须保证栈的每个元素只被遍历一次。求解时需要借助两个栈,一个入数据,一个入所遍历过数据的最小值,遍历结束后,放最小值的栈的栈顶元素即为所求的最小值。#include<ios
        阅读全文
                
摘要:在泛型编程还是STL的实际运用中,迭代器(iterator)无疑扮演者重要的角色。迭代器是一种类似于指针的对象(如可以内容提领,成员访问等),但他又不仅仅是一种普通的指针。关于迭代器失效,我们可以看下面这个例子: #include<vector>#include<list>void PrintVec
        阅读全文
                
摘要:#pragma once#include<iostream>using namespace std;#include<assert.h>template<class T>struct __ListNode{ __ListNode<T>* _prev; __ListNode<T>* _next; T 
        阅读全文
                
摘要:利用栈实现迷宫问题的求解(找到迷宫的通路,如下面给定的迷宫,0代表通路,1代表不通,利用栈的特点,求出他的通路) 给定的迷宫: 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 10 0 0 1 1 1 1 1 1 11 1 0 1 1 1 1 1 1 11 1 0 1 1 
        阅读全文
                
摘要:Main.cpp文件: #include"DList.h"void main(){ List mylist; InitDList(&mylist); ElemType Item; int select = 1; while (select) { printf("*******************
        阅读全文
                
摘要:Main.cpp文件: #include"SCList.h"void main(){ List mylist; InitSCList(&mylist); ElemType Item; int select = 1; while (select) { printf("*****************
        阅读全文
                
摘要:Main.cpp文件: #include"List.h"void main(){ List mylist; InitList(&mylist); ElemType Item; int select = 1; while (select) { printf("*********************
        阅读全文
                
摘要:并查集是一种树形的数据结构,用来处理不相交的集合的合并和查询。原理是:先开辟一个和数据大小相等的数组a,数组数据初始化为-1,当数据x1,x2同属一个集合,将数组a[x2]加到a[x1]上,并将x1赋给a[x2],这样,如果检查的时候数组的值小于0,则为根节点,并且这个值的绝对值为这个集合元素的个数
        阅读全文
                
摘要:#pragma once#include <vector> // 小堆template<class T> //仿函数struct Less{ bool operator() (const T& l, const T& r) { return l < r; // operator< }}; templ
        阅读全文
                
摘要:位图(bitmap)就是用每一位来存放某种状态,适合于大规模数据但是数据状态又不是很多的情况下,通常来判断数据是否存在。位图的常见应用有两种: 1.存放大规模数据,例如腾讯的面试题,给40亿个unsigned int的整数。给一个无符号的整数,融合判断这个数是否在这40亿个整数中。一个bit位代表一
        阅读全文
                
摘要:排序是一种非常常见,最基本的算法之一。常见的比较排序算法有以下四种: 1.插入排序 插入排序又分为直接插入排序和希尔排序。直接插入排序,指的是每次从序列中取出一个元素把它插入有序表中的合适的位置,使新的有序表仍然有序。具体方法是第一趟先比较前两个数,然后把第二个数插入到有序表中,第二趟把第三个数据插
        阅读全文
                
                    
                
浙公网安备 33010602011771号