
数据结构
xckkcxxck
这个作者很懒,什么都没留下…
展开
-
数据结构 排序算法之冒泡排序
冒泡排序算法的思路及简单实现原创 2016-12-01 18:11:22 · 300 阅读 · 0 评论 -
减治法之插入排序
插入排序的基本思想是:直接对n个数进行排序很困难,但如果已经有一个有序的数据序列,要求在这个序列里插入一个数,并要求插入之后仍然有序,那么这个时候就要用到插入排序法。插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,这种思想就是减一法的集中体现,当然,插入排序是从一个元素开始的,因为一个元素一定是有序的,然后对于剩下的n-1个元素逐个插入,这样就可原创 2017-04-12 15:32:46 · 2824 阅读 · 0 评论 -
变治算法之堆排序
堆可以定义为一颗二叉树,树中每个节点对应一个键值,并且满足以下两个条件:其一树是完全二叉树,其二是每个结点的键值都小于等于它的两个子女的键值。(有的教材说是大于,本质上是不变的)。关于堆的解释及算法推导这里不做解释,可以参考:http://blog.youkuaiyun.com/xiaoxiaoxuewen/article/details/7570621/对于调整处序号为k的调整算法,称之为筛选算原创 2017-04-13 09:46:19 · 1558 阅读 · 0 评论 -
C语言链表实现班级管理系统
上次用结构体数组做了一个图书管理系统,这次决定用链表实现一个简单的班级管理系统,还是先用create()函数第一次输入内容,之后使用可以直接从文件中读取。#include#include#define M 20//定义学生的结构体 typedef struct noab { int id; char name[M]; char classroom[M];原创 2017-02-25 10:27:56 · 1813 阅读 · 0 评论 -
图书管理系统c语言 结构体数组实现
图书管理系统是数据结构常见的课设题,在这里写一个简单的c语言实现代码。没有使用指针,链表。第一次需要写一些内容到程序中,之后注释掉creat(),creat2()两个函数即可从文件中读取。#include#include#include#include#define M 1typedef struct node//图书信息的结构体{ char bookid[10];原创 2017-02-14 17:02:23 · 10012 阅读 · 3 评论 -
数据结构算法之快速排序
快速排序的基本思路是从n个待排序的记录中任取一个记录,(不妨取第一个元素)设法将该记录放置于排序后他会最终应放的位置。使它前面的记录排序码都小于它的值,是它后面的都大于它的值。然后对前后两部分都重复这个过程。其基本思想是算法中的分治思想。为了节省空间,可以不另开辟一个新的数组存储区,先将第1个记录暂存,设为想,这样就空出了第一个元素的位置,从第n个元素起找一个排序码不大于x的记录,将它放在第一原创 2017-03-02 14:29:07 · 447 阅读 · 0 评论 -
分治算法求数组的最大值最小值
分治算法是指将一个复杂的问题分成两个或者几个相同的小问题,再把子问题分成更小的问题,一直这样循环下去,直到最后可以简单的求解。原问题的解是子问题解的合并。此算法是许多高效算法的基础。今天是一个简单的用分治法求一维数组最大值最小值的问题。在这里使用了二分法来划分。代码如下:#include #include void PartiongGet(int s,int e,int *met原创 2017-03-02 13:21:40 · 3547 阅读 · 0 评论 -
蛮力法之背包问题
假设平面上有一些点,过某些点作一个多边形,使这个多边形能把所有点都“包”起来。当这个多边形是凸多边形的时候,我们就叫它“凸包”。今天写如何用蛮力解决凸包问题。凸包有一个重要性质:如果点集中两个点的连线属于凸多边形的边,当且仅当点集中其余的点都在这两个点连线的同一侧。因此蛮力法的思想便是对每一对顶点进行遍历,判断其他点是否都在两个点连线的一侧,(也有可能在线上),如果是,则这两个点是凸包原创 2017-02-28 17:09:26 · 2124 阅读 · 0 评论 -
数据结构 排序算法之选择排序算法
介绍选择排序算法的思路和简单代码实现原创 2016-12-02 19:40:49 · 436 阅读 · 0 评论 -
java利用二叉树排序
class Bitree{ private int v; private Bitree l; private Bitree r; public Bitree(int x){ v = x; } public void add(Bitree the) { if(the.v < v) { if (l==null) l = the; else l.add(the...原创 2018-03-10 09:00:43 · 220 阅读 · 0 评论