数据结构与算法
Nani_xiao
计算机视觉、感知算法、深度学习爱好者;传说中的“程序媛”;本博客用于记录业余时间的自学习笔记,欢迎交流讨论。
展开
-
c++ 逐张顺序读取图片
int main(int argc,unsigned char* argv[]) //读取图片{char* filename_path= "G://work//20140704150740113//";numPlates=2000;string filename=""; for(int i=0;i<numPlates;i++) { strings...原创 2014-07-23 10:33:00 · 3344 阅读 · 0 评论 -
算法导论基础篇:两个栈实现一个队列
算法导论基础篇:两个栈实现一个队列栈的基本操作实现:定义、创建、销毁、入栈、出栈、判断是否为空、是否溢出//前提已知:#define stack_size 50//定义栈struct Stack{ int top; //栈顶指针 int stacksize;//栈的大小 char *s; //栈底指针};void InitStack(Stack *s);原创 2015-09-06 17:00:49 · 815 阅读 · 0 评论 -
回形遍历二维数组
回形遍历二维数组上一篇写了 折线遍历二维数组,作为对比,现在发出二维数组的回形遍历 int time = 0; int col = 15; int row = 10; int array[15][10]; for (int n=0;;n++) { for (int i=n;i<col-n;i++) { cout<<"("<<n<<","<<i<<"原创 2015-11-24 16:18:32 · 3055 阅读 · 1 评论 -
顺序折线遍历二维数组
顺序折线遍历二维数组其实就是一个很简单的嵌套for循环而已,由于后期会用到,先在这里保存一下bool flag = 0; for (int i = 0; i < 10; i ++) { if (flag == 0) { for (int j = 0; j < 15; j ++) { cout<<"("<<i<<","<<j<<")"<<" "; }原创 2015-11-24 16:01:01 · 1169 阅读 · 0 评论 -
剑指offer刷题1-66题-Python3
文章目录【剑指offer-Python3】1 判断数组中是否含有某整数。【剑指offer-Python3】2 替换字符串中的空格【剑指offer-Python3】3 链表反转【剑指offer-Python3】4 根据前序和中序遍历,重建二叉树【剑指offer-Python3】5. 用两个栈来实现一个队列【剑指offer-Python3】6. 旋转数组的最小值【剑指offer-Python3】7. ...原创 2019-06-01 14:21:20 · 3550 阅读 · 0 评论 -
leetcode刷题:1-20
文章目录1 Two Sum2 Add Two Numbers3 Longest Substring Without Repeating Characters45 Longest Palindromic Substring6 ZigZag Conversion7 Reverse Integer 将给定的数字倒序输出.8 String to Integer(atoi)9 Palindrome Numb...原创 2019-08-19 20:46:37 · 400 阅读 · 1 评论 -
剑指offer:有时间限制 实现斐波那契数列
剑指offer:实现斐波那契数列题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。时间限制:1秒空间限制:32768K 通过比例:25.93% 最佳记录:0 ms|3156K斐波那契数列为:0,1,1,3,5,8,13,21,34,........首先实现为:class Solution {public: ...原创 2015-09-06 22:01:37 · 1486 阅读 · 0 评论 -
霍夫曼编码压缩算法
一直记不住这个算法的原理,这次又看到了篇文章,介绍的很浅显易懂,就转过来与大家分享原文地址为:http://blog.jobbole.com/20091/我们直接来看示例,如果我们需要来压缩下面的字符串:“beep boop beer!”首先,我们先计算出每个字符出现的次数,我们得到下面这样一张表 :然后,我把把这些东西放到Priority Queue中(用出现的...转载 2015-07-06 15:04:20 · 2385 阅读 · 0 评论 -
算法笔试面试题_商场搞活动,满100减30,满200减80,问1000元最多能买多少钱的东西?
算法笔试面试题_商场搞活动,满100减30,满200减80,问1000元最多能买多少钱的东西?解法思路:1、首先花1000元,返(1000/200)*80 = 4002、花400元,返(400/200)*80 = 160;3、借别人40元,手里凑够200元,返80元。4、还给别人40元,手里还有40元,还能再买40元的东西。即,总共买了 1000+400+40+160+80...原创 2015-05-05 16:53:21 · 5675 阅读 · 6 评论 -
在字符串中查找最长字符串
看了关于这个问题的两篇博文,刚开始觉得代码写的挺好,但实际运行就发现有挺多问题,很容易误导初学者,现在自己重新改写下代码,保证运行正确。//1. 用字符串指针数组保存用户输入的字符串的所有后缀字符串;// 2. 将后缀字符串集合进行排序;// 3. 比较相邻字符串的公共子串长度,找到长度最大值,保存相应字符串即为所求#include "stdafx.h"#include &l...原创 2015-03-28 15:46:46 · 3548 阅读 · 0 评论 -
求子数组的最大和
题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。例如输入数组为-8,-2,-3,-10,-4,-7,-2,-5,则和最大的字数组...原创 2015-03-28 15:03:56 · 617 阅读 · 0 评论 -
Map实现从0~100中随机生成50个数,统计出现的数字最大值和最小值,输出出现最多的次数及对应的数字
Map实现从0~100中随机生成50个数,统计出现的数字最大值和最小值,输出出现最多的次数及对应的数字#include "stdafx.h"#include <iostream>#include <map>#include <fstream>#include <time.h>using namespace std;i...原创 2015-01-19 11:13:36 · 2355 阅读 · 0 评论 -
算法导论基础篇:两个队列实现一个栈
算法导论基础篇:两个队列实现一个栈队列的基本操作:初始化、判断是否为空、判断是否满、清空队列、释放队列、入队、出队、求队列的长度typedef struct Queue{ int queuesize; int head, tail; int *q;}Queue;void InitQueue(Queue *q);void EnQueue(Queue *q, int k...原创 2015-09-07 09:32:08 · 863 阅读 · 0 评论 -
排序算法实现与比较
下面简要总结了常用的一些排序算法。如有错误,还请大家指正插入排序:是一个对少量元素进行排序的有效算法。实现比较简单。时间复杂度:O(n^2),空间复杂度:O(1)。是稳定的排序方法。 代码:[cpp] view plaincopyprint?//insertion sort #`include <iostream>` using namespace std; //insertion s原创 2015-05-04 16:23:24 · 687 阅读 · 0 评论 -
C++类构造函数列表初始化
构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如:转载 2014-11-21 08:50:52 · 814 阅读 · 0 评论 -
批处理图片:文件夹中的图片命名杂乱,实现一次性读取图片
批处理图片:文件夹中的图片命名杂乱,不是按一定的次序,实现一次性读取文件1、获取文件夹里图片列表 编写一个bat程序(get route.bat,bat是避免每次都需要去dos框输入,那里又不能复制又不能粘贴!),如下所示:运行bat文件,就会生成txt文件:2、编写程序顺序读取Img.txt文件中的名字,即可一次处理图片。#include #include原创 2015-01-23 16:15:35 · 2456 阅读 · 0 评论 -
C++ 实现从0~100中随机生成50个数,统计出现的数字最大值和最小值,输出出现最多的次数及对应的数字
C++ 实现从0~100中随机生成50个数,统计出现的数字最大值和最小值,输出出现最多的次数及对应的数字#include "stdafx.h"#include #include #include #include #include #include #include #include using namespace std;struct IntScore{原创 2015-01-19 10:36:34 · 6588 阅读 · 0 评论 -
统计每十帧出现次数最多的那个
统计输出结果,每十帧出现次数最多的那个首先,建立一个list用于存放每十帧输出结果。#define MAX_LIST_NUM 10list plist; //存放队列判断是否已经存放了十帧,没有的话接着往里存放,已经有十帧的话,将第一帧推出,现帧存放进去,这里n表示要存放的结果if (plist.size() {plist.push_back(n);}原创 2015-01-18 16:35:33 · 909 阅读 · 0 评论 -
五个编程基础网站 自留备份
1. CODECADEMY2.LADIES LEARNING CODE3.CODE RACER4.UDACITY5. GIRLS WHO CODE原创 2015-01-20 10:09:33 · 890 阅读 · 0 评论 -
“#if 0/#if 1 ... #endif”的作用
今天用到 #if 0/#if 1 ... #endif,一时buming原创 2014-04-16 14:45:48 · 3071 阅读 · 0 评论 -
Map封装,方便以后直接调用
Map封装,方便以后直接调用MyMap.h//#ifdef MYMAP_H//#define MYMAP_H#include #include #include using namespace std;class MyMapClass{public: //构造函数 MyMapClass(); //析构函数 ~MyMapClass(); //设置数据 bool原创 2015-01-19 14:07:18 · 2653 阅读 · 0 评论 -
利用栈的操作实现二进制转十进制
利用栈的操作实现二进制转十进制#include#include#include#define STACK_INIT_SIZE 20#define STACKINCREMENT 10typedef char ElemType;typedef struct{ElemType *base;ElemType *top;int stackSize;}sqStack;void I原创 2014-09-27 14:22:19 · 3995 阅读 · 0 评论 -
利用栈实现逆波兰计算
#include#include#include#define STACK_INIT_SIZE 20#define STACKINCREMENT 10#define MAXBUFFER 10typedef char ElemType;typedef struct{ ElemType *base; ElemType *top; int stackSize;}sqSt原创 2014-09-27 15:16:42 · 1130 阅读 · 0 评论 -
链式栈的基数操作
定义栈链ttypedef struct StackNode{ ElemType data; //存放栈的数据 struct StackNode *next;}StackNode, *LinkStackPtr;typedef struct LinkStack{LinkStack top; //top指针int count; //栈元素计数器};原创 2014-09-27 15:20:47 · 688 阅读 · 0 评论 -
数据结构与算法——栈的相关操作
1、定义栈typedef struct{ ElemType *base; ElemType *top; int stackSize;}sqStack;2、创建一个栈#define STACK_INIT_SIZE 100initStack(sqStack *s){ s->base = (ElemType *)malloc(STACK_INI转载 2014-09-27 11:27:57 · 733 阅读 · 0 评论 -
数据结构与算法_两个栈实现一个队列的功能
用两个栈实现一个队列的功能#include "stdafx.h"//#include //#include //#include //#include #include //using namespace std;//using namespace std;using namespace std; typedef struct node{ int data;原创 2013-10-25 17:04:22 · 1005 阅读 · 0 评论 -
十大排序算法——python实现
排序算法的分类排序算法复杂度相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数。冒泡排序选择排序插入排序希尔排序...原创 2019-10-13 08:46:44 · 763 阅读 · 0 评论