算法和数据结构基础题集(持续更新中)
2014-11-04 23:45
232 查看
注意一题多解,举一反三,从普通算法到最优算法
1.判断一个字符串中的字符是否唯一(即没有重复),不能使用额外的数据结构(使用基本的数据结构)
2.反转一个字符串
3.去掉字符串中的重复字符,不能使用额外的缓存空间
4.判断两个字符串是否是变位词(两个单词字符相同,但是位置不同的单词)
5.写一函数,把字符串的空格替换为%20
6.判断字符串是否是另一个字符串的字串
7.从一个未排序的链表去除重复的项,不允许使用临时的缓存
8.从一个单链表中返回倒数第k个元素
9.删除链表中的给定节点
10.找出一个循环链表中环的第一个节点
11.使用两个栈来实现一个队列
12.将一个栈按升序排列,可用辅助栈
13.判断一棵树是否平衡; 求一颗二叉树的深度
14.判断有向图两节点之间是否存在路径(DFS BFS)
15.查找中序排列的二叉查找树的下一个节点(分类讨论)
16.一个二叉树中两个节点的第一个公共共同祖先
17.判断一颗二叉树是否是另一颗二叉树的子树
18.输出二叉树路径上节点值之和等于给定值的所有路径
19.求二叉树的最大距离(即相距最远的两个叶子节点)
20.给定一个整数x,找出两外两个整数,二进制表示中1的个数相同,其中一个是比x大的数中最小的,另一个是比x小的数中最大的
21.两个二进制表示的数,从一个数转换到另一个数需要改变的位数
注意一题多解,举一反三,从普通算法到最优算法
1.判断一个字符串中的字符是否唯一(即没有重复),不能使用额外的数据结构(使用基本的数据结构)
2.反转一个字符串
3.去掉字符串中的重复字符,不能使用额外的缓存空间
4.判断两个字符串是否是变位词(两个单词字符相同,但是位置不同的单词)
5.写一函数,把字符串的空格替换为%20
6.判断字符串是否是另一个字符串的字串
7.从一个未排序的链表去除重复的项,不允许使用临时的缓存
8.从一个单链表中返回倒数第k个元素
9.删除链表中的给定节点
10.找出一个循环链表中环的第一个节点
11.使用两个栈来实现一个队列
12.将一个栈按升序排列,可用辅助栈
13.判断一棵树是否平衡; 求一颗二叉树的深度
14.判断有向图两节点之间是否存在路径(DFS BFS)
15.查找中序排列的二叉查找树的下一个节点(分类讨论)
16.一个二叉树中两个节点的第一个公共共同祖先
17.判断一颗二叉树是否是另一颗二叉树的子树
18.输出二叉树路径上节点值之和等于给定值的所有路径
19.求二叉树的最大距离(即相距最远的两个叶子节点)
20.给定一个整数x,找出两外两个整数,二进制表示中1的个数相同,其中一个是比x大的数中最小的,另一个是比x小的数中最大的
21.两个二进制表示的数,从一个数转换到另一个数需要改变的位数
相关文章推荐
- 数据结构与算法C语言所有头文件汇总 —— 持续更新
- 数据结构及算法相关文章索引(持续更新)
- 算法:C语言实现 (第1-4部分)基础知识、数据结构……
- 算法与数据结构基础知识
- 【数据结构与算法的语言基础】数组与字符串
- 【算法学习笔记】10.数据结构基础 二叉树初步练习3(遍历与递归复习)
- 【算法学习笔记】08.数据结构基础 二叉树初步练习1
- 在emacs中用gdb调试学习算法与数据结构基础(1)_猜价格游戏
- Uva 算法入门经典(数据结构基础)线性表题目
- 【算法学习笔记】07.数据结构基础 链表 初步练习
- 【索引】算法竞赛入门经典-第6章 数据结构基础
- 【算法学习笔记】09.数据结构基础 二叉树初步练习2
- 【数据结构与算法基础】以数组实现的循环队列 / Circular Queue implemented by array
- .net 数据结构与算法基础:Hashtable
- 【算法学习笔记】06.数据结构基础 队列与堆栈初步
- 【数据结构与算法基础】栈及其应用后缀、中缀表达式 / Stack and postfix/infix expression
- php学习第一章:PHP基础语法(三)数据结构与算法:2、单向链表
- .net 数据结构与算法基础:高级排序
- 【算法学习笔记】06.数据结构基础 队列与堆栈初步
- 【算法学习笔记】07.数据结构基础 链表 初步练习