随笔分类 -  Algorithm

摘要:#include <stdio.h> typedef struct { int data; struct Node* next; }Node; Node* CreateNewNode(int value) { Node *temp = (Node*)malloc(sizeof(Node)); tem 阅读全文
posted @ 2019-08-02 21:21 Lilideng 阅读(345) 评论(0) 推荐(0)
摘要:#include <stdio.h> typedef struct{ int data; struct Node* next; }Node; Node* CreateNode(int value) { Node* temp = (Node*)malloc(sizeof(Node)); temp->d 阅读全文
posted @ 2019-08-02 20:50 Lilideng 阅读(169) 评论(0) 推荐(0)
摘要:#include <stdio.h>typedef struct { int data; struct Node* next;}Node; Node* CreateNode(int value) { Node* temp = (Node*)malloc(sizeof(Node)); temp->da 阅读全文
posted @ 2019-08-01 10:55 Lilideng 阅读(413) 评论(0) 推荐(0)
摘要:Results Initialize Linked List from end...1 -> 2 -> 3 -> 4 -> 5 -> NULLInitialize Linked List from head...5 -> 4 -> 3 -> 2 -> 1 -> NULL 阅读全文
posted @ 2019-07-31 22:24 Lilideng 阅读(193) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-07-28 15:54 Lilideng 阅读(154) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-07-19 13:04 Lilideng 阅读(246) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-07-18 17:53 Lilideng 阅读(101) 评论(0) 推荐(0)
摘要:简单选择排序是从序列中找出当前最小的数,并将这个数与第i数交换,下一次从第i+1个数开始做相同的操作。 阅读全文
posted @ 2017-02-13 17:32 Lilideng 阅读(154) 评论(0) 推荐(0)
摘要:插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新插入元素提供插入空间,算法是稳定的。 阅读全文
posted @ 2017-02-10 16:49 Lilideng 阅读(165) 评论(0) 推荐(0)
摘要:数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法找到x。 阅读全文
posted @ 2017-02-09 17:45 Lilideng 阅读(372) 评论(0) 推荐(0)
摘要:题目:一个整形数组,其中只有两个数字是不一样的,其他都是两两相同,找出这两个不同的数字 阅读全文
posted @ 2017-02-08 17:40 Lilideng 阅读(1219) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2013-11-11 22:01 Lilideng 阅读(123) 评论(0) 推荐(0)
摘要:Code snippet:最好时间复杂度: O(1)最坏时间复杂度: O(log2n) 阅读全文
posted @ 2013-11-05 21:50 Lilideng 阅读(289) 评论(0) 推荐(0)
摘要:快速排序思想通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分继续进行排序,以达到整个序列有序的目的。调用:时间复杂度最好是O(nlogn),最差是O(n2),且快排是一种不稳定的排序算法。 阅读全文
posted @ 2013-10-16 21:54 Lilideng 阅读(222) 评论(0) 推荐(0)
摘要:冒泡排序:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录位置。冒泡排序是效率低效的算法,在数据规模较小时可以采用,是稳定的(所谓排序算法是稳定的意思是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同),冒泡算法的最差和平均时间复杂度是 O(n2) ,空间 阅读全文
posted @ 2013-10-15 21:25 Lilideng 阅读(273) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2013-10-14 21:57 Lilideng 阅读(237) 评论(2) 推荐(0)
摘要: 阅读全文
posted @ 2013-10-14 21:27 Lilideng 阅读(169) 评论(0) 推荐(0)
摘要:类似问题,走台阶问题,比如说有100个台阶,一次只能走一个或者两个台阶,请问走完这100个台阶有多少种不同的走法?走一个台阶有一种走法 1;走两个台阶有两种走法 1+1, 2;走三个台阶有三种走法1+1+1, 2+1, 1+2;走四个台阶有1+1+1+1,2+2,1+2+1,1+1+2,2+1+1...所以有以下推到公式,因为第一步可以走一步台阶那么剩下的就是f(99)或者第一步走两个台阶剩下就是f(98)种走法f(100) = f(99) + f(98)f(1) = 1f(2) = 2f(n) = f(n-1) + f(n-2)程序可以参考以上算法。 阅读全文
posted @ 2013-10-11 22:37 Lilideng 阅读(260) 评论(0) 推荐(0)