
算法/数据结构
问之猪
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二进制和16进制字符串转换
#include <stdio.h>#include <string.h>#include <stdlib.h>char *get2string(int num){ char *buffer = NULL, *temp = NULL; int i = 0; buffer = (char*)malloc(33); //...原创 2020-02-03 22:01:31 · 2087 阅读 · 0 评论 -
python实现AES加解密
#!/usr/bin/python# -*- coding: utf-8 -*-import pdbfrom optparse import OptionParserfrom Crypto.Cipher import AESimport sysimport base64import timeVERSION = "0.1"BLOCK_SIZE = 128class Cr...原创 2020-01-05 00:57:58 · 480 阅读 · 0 评论 -
排序
本文将介绍三种排序,选择排序、插入排序和冒泡排序,源码如下#include <iostream> using namespace std; void Swap(int &a,int &b){ int temp; temp=a; a=b; b=temp;} //简单选择排序void SelectSort(int a[...原创 2019-12-08 12:14:42 · 107 阅读 · 0 评论 -
图
在这篇文章中,我们要讨论一下关于图的知识点:1.图的存储方式——邻接矩阵存储和邻接表存储*邻接矩阵存储code如下所示#include <iostream> using namespace std; template <class T>class Graph{protected: int n,e; ...原创 2019-12-08 12:13:35 · 168 阅读 · 0 评论 -
散列表(hash表)
拉链法可以有效的解决散列表中的冲突问题,它将散列表中某些共享相同关键字值的元素存储在一条单链表上,这里主要利用了数组指针的知识点。/*** 散列表(哈希表)*/ #include <iostream> using namespace std; template <class T>class HashTable; template <cl...原创 2019-12-08 12:11:45 · 121 阅读 · 0 评论 -
二叉搜索树
二叉树搜索树具有较高的搜索效率,并能支持插入和删除运算性质:1.若左子树不空,则左子树上所有节点的关键字值均小于根节点的关键字值2. 若右子树不空,则右子树上所有节点的关键字值均大于根节点的关键字值3. 左右子树也分别是二叉搜索树/*** 二叉搜索树*/ #include <iostream> using namespace std; class ...原创 2019-12-08 12:10:36 · 93 阅读 · 0 评论 -
queue实现
队列是一种先进先出的线性数据结构。分别有对头指针front和队尾指针rear,数据从对头出,从队尾进。队列可以分为顺序队列和链接队列。顺序队列中,各逻辑位置相邻的数据其物理位置也相邻,为了节省空间,一般采用循环队列结构队头指针进1(数据出队列):front=(front+1)%maxSize; //maxSize为顺序队列创造时设置的最大存储空间队尾指针进1(数据入队列):rear=...原创 2019-12-08 12:07:52 · 274 阅读 · 0 评论 -
stack算法实现
抽象类定义template <class T>class Stack{public: virtual bool IsEmpty() const=0; virtual bool IsFull() const=0; virtual bool Top(T &x) const=0; virtual bool Push(T x)=0; ...原创 2019-12-08 12:04:03 · 308 阅读 · 0 评论 -
线性表(顺序表,单链表)
线性表是一种动态的数据结构,它的表长可以变化。线性表的功能主要是对存储在线性表中的数据进行检索,插入,删除等操作。主要有顺序表,链表两种形式。顺序表是在一组连续地址的存储单元中存储数据,这样可以保证这些在逻辑上相邻的数据在物理上也相邻。链表通过节点指针将数据串联起来,可以保证数据逻辑上的相邻性,但是无法保证数据物理上的相邻性。实现方法如下:1.建立线性表的抽象类 linearlis...原创 2019-12-08 12:01:09 · 180 阅读 · 0 评论 -
快速排序&希尔排序
// 快速排序void quicksort3(int a[],int left,int right){ int i,j,temp; if(left<right) { i=left; j=right+1; temp=a[left]; while(i<j) { ...原创 2019-12-08 11:58:13 · 120 阅读 · 0 评论