logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【数据结构】字符串匹配——暴力算法(BF)

一、问题描述给定主串S,判断模式串F是否是S的子串,如果是则返回T在S中出现的第一个位置,否则返回0。二、算法思想使用暴力算法解题,从主串S的第一个字符开始和模式串T的第一个字符进行比较,若相等则比较二者后续字符,否则,主串回溯到第二个字符,模式串回溯到第一个字符;继续比较,不匹配,主串回溯到第三个字符,模式串回溯到第一个字符。重新上述过程,直到模式串T中的字符全部比较完毕,说明匹配成功;否则匹配

文章图片
#数据结构#算法
【数据结构】中缀表达式表达式求值

一、问题描述中缀表达式求值例如:2*(3+5)-7二、解题思路定义两个栈,一个操作数栈,一个运算符栈,首先需要定义运算符的优先级,如图。将表达式的前后都加上‘#’方便操作。#2*(3+5)-7#首先从前往后扫描字符串,当遇到操作数时,就将其压入操作数栈。当遇到运算符时,首先和运算符栈的栈顶元素比较,当小于,压栈(运算符),大于,出栈(运算符)并且从运算符栈出两个字符,先出做后件,后出做前件,运算完

文章图片
#数据结构#算法
【数据结构】使用顺序表解决约瑟夫环问题

约瑟夫环问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。采用顺序存储结构中的数组实现。每次出队了一个人,将这个位置后面的所有数往前移一个位置,将此数覆盖,数组的有效长度也相应的减1每次出队的人的下标为:len为每次循环中环的人数,m为数到m的

文章图片
#数据结构#算法
【数据结构】n皇后问题

一、问题描述在n行n列的棋谱上,放n个棋子,保证:这n个棋子任意两个不在同一行,不在同一列,并且也不在对角线上,这样的摆法有多少种?二、解题思路使用递归回溯解题。定义一个一维数组,下标存放列,值存放行。n表示为n行n列的棋谱,n个棋子首先从第一列开始放,然后再放第二列,放第二列时需与第一列时比较,是否在同一行或者同一列或者对角线上。如果是,重新摆放第二列的位置;如果不是,继续下一列。摆放第k列时,

文章图片
#数据结构#算法
到底了