i3geek.com
闫庚哲的个人博客

数据结构与算法 第3页

数据结构与算法
dp 背包问题 学习笔记-爱上极客

dp 背包问题 学习笔记

yan阅读(1518)评论(0)赞(0)

动态规划的基本思想 将一个问题分解为子问题递归求解,且将中间结果保存以避免重复计算。通常用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。 动态规划算法可分解成从先到后的4个步骤:...

1010 朋友圈【小米2013年校园招聘笔试题】

yan阅读(1582)评论(1)赞(0)

进入OJ Description 假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友…),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。 假如:n = 5 , m...

并查集 学习详解-爱上极客

并查集 学习详解

yan阅读(1113)评论(0)赞(0)

原文 并查集:(union-find sets) 一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数等。最完美的应用当属:实现Kruskar算法求最小生成树...

1009 子串逆序打印【2012年Google校园招聘笔试题目】

yan阅读(1002)评论(0)赞(0)

进入OJ  Description 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串的每个子串都打印反了,现在麻烦你帮小明将这些字符串中的子串修正过来,同时为了使卡片美观,压缩其中的连续空格为...

C语言实现排序的八种方法

yan阅读(1202)评论(0)赞(0)

(1)冒泡法 冒泡法大家都较熟悉。其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i],则交换它们,一直比较到a[n]。同理对a[1],a[2],…a[n-1]处理,即完成排序。下面列出其代码: void...

链式表

yan阅读(2172)评论(0)赞(0)

template<class Node_entry> struct Node{ Node_entry entry; Node <Node_entry> * next; Node(); Node(Node_entry,...