算法
文章平均质量分 79
yudan_jiangnan
这个作者很懒,什么都没留下…
展开
-
数据结构与算法分析学习笔记(2)--拓扑排序
拓扑排序是对有向无圈图的顶点的一种排序,它使得如果存在一条从vi到vj的路径,那么在排序中vj出现在vi的后面。一种简单的做法是先找出一个没有入边的顶点,然后显示出该顶点,并将它和它的边一起删除。如果每次都通过遍历所有顶点来找的话,那么运行时间将是O(|V|^2),其中|V|为顶点数。我们可以将所有的入度为0的顶点放在一个序列中,每次出列一个顶点,并将删除边后入度为0的顶点进队列,这样避免原创 2015-06-02 20:29:08 · 586 阅读 · 0 评论 -
数据结构与算法分析学习笔记(1)--排序
包括插入排序、希尔排序、堆排序、归并排序及快速排序1、插入排序插入排序利用了这样的事实:若插入位置为P,则位置0到位置P-1上的元素已排过序。每次插入前P+1个元素的正确位置。void InsertionSort(ElementType a[], int N){ElementType tmp;int p, j;for (p = 1; p {tmp = a[p];原创 2015-05-31 20:43:42 · 462 阅读 · 0 评论 -
zigzag相关题目
程序员面试宝典第4版第8章题目。题目:输入n 求一个n*n的矩阵,规定矩阵沿45度角线递增, 形成一个zigzag数组,请问如何用C++实现 如图: Please Input The Number! 8 0 1 5 6 14 15 27 28 2 4 7 13 16原创 2016-05-25 15:55:29 · 294 阅读 · 0 评论 -
zigzag相关题目2--LeetCode(6) ZigZag Conversion
题目要求:The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA P原创 2016-05-25 16:03:44 · 314 阅读 · 0 评论 -
编程珠玑--变位词问题
编程珠玑第二章第三个问题:给定一个英语字典,找出其中的所有变位词集合。例如,“pots”、“stop”、‘tops’互为变位词,因为每个单词都可以通过改变其他单词中的字母顺序来得到。按照书上的解法,先将单词中的字母按照字母表的顺序排列,得到一个标识,如果互为变位词,则他们的标识是相同的。然后将所有的单词按照其标识顺序排序,最后将相同标识的单词整合到一起。/* anagrams.cpp原创 2016-05-26 19:09:38 · 530 阅读 · 0 评论 -
大数问题
剑指offer面试题12:打印1到最大的n位数因为没有说明n的大小,所以有可能long long型也无法存下这个n位数,所以考虑大数问题,将其存储为字符数组或字符串。主要包括如何在字符串上模拟加法和如何把字符串打印出来。void Print1ToMaxOfNDigits_1(int n){ if (n <= 0) return; char* number = new char[n原创 2016-05-27 13:00:35 · 371 阅读 · 0 评论 -
《编程珠玑》(第2版)第2章”:课后习题7(矩阵转置)
课后习题7是这样子的: 在20世纪60年代早期,Vic Vyssotsky与一个程序员一起工作,该程序员需要转置一个存储在磁带上的4000*4000的矩阵(每条记录的格式相同,为数十个字节)。他的同事最初提出的程序需要运行50个小时。Vyssotsky如何将运行时间减少到半个小时呢? 课后给出的答案是: 为每条记录插入列号和行号,然后调用系统的磁带排序程序先按列排序再转载 2016-05-28 21:35:42 · 856 阅读 · 0 评论 -
《编程珠玑》(第二版)第一章习题2(用位运算实现位向量)
《编程珠玑》第一章提出了一个排序问题,可以用位图或位向量来表示。如可用一个20位长的字符串来表示一个所有元素都小于20的简单非负整数集合,如集合{1,2,3,5,8,13}可以表示为:0 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0代表集合中数字的位都置为1,其他所有的位都置为0。若给定表示文件中整数集合的位图数据结构,则可以分三个自然阶段来编写程序。第一原创 2016-05-30 13:56:55 · 1086 阅读 · 0 评论 -
编程珠玑第三章习题1
问题:1. 本书行将出版之时,美国的个人所得税分为5种不同的费率,其中最大的费率大约为40%。以前的情况更为复杂,税率也更高。下面所示的程序文本采用25个if语句的合理方式来计算1978年的美国联邦所得税。税率分别为0.14,0.15,0.16, 0.17, 0.18,·····。此后的费率增幅大于0.01.有何建议? if income <= 2200 tax =原创 2016-06-01 15:24:33 · 933 阅读 · 0 评论