数据结构和算法
文章平均质量分 53
skyandcode
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构(二)
指针基础: 指针其实就是地址。指针变量就是用来存放地址的变量,与其它变量其实没有太大的区别,只是该变量存放的是一个地址,通过该地址去进行其它操作。 指针变量的大小是固定的(视具体情况),与指向的类型无关,其指向的类型只是表明了该地址存放的数据是什么类型的。同时要知道,指针保存的只是第一个字节的地址,eg: double v=8.0; double* p=&v;原创 2013-01-23 01:15:42 · 807 阅读 · 0 评论 -
质数
质数原创 2014-06-12 15:24:18 · 1376 阅读 · 0 评论 -
随机插入100个整数
给定一个长度为100的int 数组 ,要求随机插入 1 - 100整数。 static void Main(string[] args) { int[] Res = new int[100]; int[] Count = new int[100]; Random ran = new Random();原创 2013-12-12 21:43:57 · 1405 阅读 · 0 评论 -
一道面试题
反转句子的单词顺序!for example:this is a apple to :apple a is this#include "stdafx.h"#include//将单个单词的字母顺序反转void ReverseWords(char* x,char* y){ char t = *x; while(x < y) { t = *x; *x = *原创 2013-11-04 12:12:29 · 1203 阅读 · 0 评论 -
洗牌算法
洗牌算法原创 2013-11-18 20:55:36 · 1324 阅读 · 0 评论 -
字符串排序
题目是这样的:有一个.txt文件,里面内容如下:banana|cat|Apple|Cat|apple 要求读取文件里的内容后对每个单词进行排序(banana cat Apple Cat apple)。 排序完成后成:Apple apple banana Cat cat (字母小的在前,如果有大小写,则大写在前)原创 2013-09-20 13:12:17 · 4948 阅读 · 0 评论 -
找到链表的倒数第m个元素
设计一个算法,找到链表的倒数第m个元素,假设最后一个元素为倒数第0个。算法的复杂度为n。方法一:遍历链表,得到链表的长度,再找到链表的第n-m个元素即可(如果链表的长度知道就直接找第n-m个元素)。方法二:双指针查找。用两个指针p1、p2,开始都指向头节点。p1先移动,当p1和p2的距离为m时,两个指针一起移动,当p1移动到尾节点时,此时p2指向的节点就是要找的节点。具体代码:#i原创 2013-06-12 01:27:12 · 6025 阅读 · 0 评论 -
hash算法
给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url可以估计每个文件的大小为50G×64=320G,远远大于内存限制的4G,不可能将其完全加载到内存中处理,考虑采取分而治之的方法。第一步:遍历文件a,使用Hash函数将a文件中的url分别存储到1000个小文件中,如(a0....a999)这样每个小文件的大约为300M;遍转载 2013-06-11 01:33:53 · 1011 阅读 · 0 评论 -
比较两个字符串的大小
比较两个字符串src、dst 的大小,若src大则返回1,小则返回-1,相等则返回0;字符串比较大小--- *src - *dst算法实现:int Mystrcmp(const char* src , const char* dst){ int ret=0; while( ! ( ret = *(unsinged char* )src - *(unsinged char原创 2013-06-10 01:01:01 · 2338 阅读 · 0 评论 -
五种常用排序
最近在看数据结构,想把几个简单的排序在过一遍,发现还没那么容易,最简单的冒泡排序代码没那么容易敲出来。下面把5种排序复习一下:1. 冒泡排序: 冒泡排序是最简单也是最常用的排序方法。其基本思想是(以升序为例):将序列看成一排竖着的气泡。最后一个元素与倒数第二个元素进行比较,小的往前拱,再将倒数第二个元素与倒数第三个元素比较,小的往前拱,...这样一次外循环后,第一个元素就是序列最小的元原创 2013-02-25 14:46:32 · 6096 阅读 · 2 评论 -
数据结构(一)
什么是数据结构? 数据结构就是实现将一个具体实际问题用数据类型和存储结构在计算机内存中描述出来。什么是算法? 算法就是实现某个功能的操作,例如查找、删除等。具体问题有对应的算法。衡量算法的标准: 1、时间复杂度:也就是某个程序所执行的次数。 2、空间复杂度:也就是程序所需要的最大内存。 3、健壮性原创 2013-01-22 01:07:58 · 593 阅读 · 0 评论 -
查找不在数组里的字母
查找不在数组里的字母原创 2014-06-20 13:51:29 · 1781 阅读 · 0 评论
分享