数据结构与算法
crystalnsd
坚持不懈,厚积薄发
展开
-
快速排序算法(C语言实现)
先看一下快速排序算法(C语言实现 )#include <stdio.h>void quicksort(int array[], int min, int max);int partition(int array[], int min, int max){ int p; p = array[min]; //int len = max; while (min <原创 2017-08-11 16:49:43 · 6725 阅读 · 0 评论 -
python 用解决约瑟夫问题
# -*- coding: utf-8 -*-'''Created on 2017年8月8日@author: Administrator用python实现循环链表,解决约瑟夫问题'''class Person(): def __init__(self,num,next = None): self.next = next self.num = num原创 2017-08-10 22:28:26 · 1687 阅读 · 0 评论 -
C语言实现顺序链表
1 概念:指用一个连续的地址来存储数据元素。结构类似数组2 设计与实现:a 设计要素:1)插入元素算法判断线性表是否合法判断插入位置是否合法把最后一个元素到插入位置的元素后移一个位置将新元素插入后线性表长度加1b 实现代码:#include "stdio.h"#include "stdlib.h"#include "string.h"#include "seqlist.h"typede原创 2017-07-24 17:16:08 · 926 阅读 · 0 评论 -
python中多层嵌套列表的拆分
场景:有一个多层嵌套的列表如:[[23],[3,3],[22,22],1,123,[[123,a],2]] 拆分成:def splitlist(list): ''' 现有一个列表,里面元素包括 数字,字母,列表,字典等元素,现在要将字典去掉,并将列表 分解成字母,或数字元素如:[[1,2,3],2,3,[1,3,[12,22]],'a',12]原创 2017-06-27 23:09:04 · 17600 阅读 · 1 评论 -
C语言实现单向链表
1 单向链表定义对于数组,逻辑关系上相邻的两个元素的物理位置也是相邻的,这种结构的优点是可以随机存储任意位置的元素,但缺点是如果从数组中间删除或插入元素时候,需要大量移动元素,效率不高。链式存储结构的特点,元素的存储单元可以是连续的,也可以是不连续的,因此为了表示每个元素a,与其接后的元素a+1之间的关系,对于元素a,除了存储其本身信息外,还需要存储一个指示其接后元素的位原创 2017-06-16 22:33:53 · 526 阅读 · 0 评论 -
大文件排序(栈中)
生成大文件并,对文件内容进行排序:适用对象:1,文件值的集合为有限个,2文件大,思路:从最小值到最大值,分别统计各值出现的次数,并记录,从最小值开始向结果文件中写入,每个值写入的次数就是统计的次数,(注意要去掉空行)代码:#include #include #include #include int main(){原创 2017-06-11 16:07:12 · 423 阅读 · 0 评论 -
用python 实现链表(实现__getitem__,__set__,__len__ 魔法方法)
'''用python 实现数据结构--链表的实现'''class LinkListException(Exception): def __init__(self,ex_info): self.info = ex_info #print(self.info)class Node(): def __init__(self,data,next = No原创 2017-09-18 19:28:59 · 781 阅读 · 0 评论