自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 Huffman压缩(最终版)

这个程序有个大bug,就是稍大一点的文件不能先压缩在解压,只能压缩后退出程序再解压,不知道是不是内存问题#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>/*用Huffman算法写出一个程序实现文件的压缩(和解压缩)*///怎么输入数据,这里牵...

2020-04-28 09:19:11 324

原创 Huffman压缩(解压部分未完成)

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>/*用Huffman算法写出一个程序实现文件的压缩(和解压缩)*///怎么输入数据,这里牵扯到字母转ASCII二进制//输出二进制//大体流程//将读取的数据放进一个数组//这个数组的元...

2020-04-25 19:01:22 211

原创 路径压缩法和各种求并方法

`#include <stdio.h>#define MAX 16int pre[MAX + 1]; //寻找父节点void Initialize(int *S);void InitializeH(int *S);void InitializeS(int *S);void SetUnion(int *S, int Root1, int Root2);void SetUn...

2020-04-10 11:36:01 392

原创 常见排序代码实现

插入排序#include <stdio.h>typedef int ElementType;void InsertionSort(ElementType A[], int N);void InsertionSort(ElementType A[], int N){ int i, P; ElementType tmp; for (P = 1; P ...

2020-04-03 16:54:45 296

原创 归并排序的非递归实现

#include <stdio.h>#include <stdlib.h>typedef int ElementType;void Merge(ElementType A[], ElementType TmpArray[], int Lpos, int Rpos, int RightEnd);void MergeSort(ElementTyp...

2020-04-03 13:17:18 194

原创 对于二项队列的一道题

教材中二项队列的例程:#include <stdio.h>#include <stdlib.h>#include <limits.h>#define MaxTrees 10#define Capacity 10typedef struct BinNode *BinTree;typedef struct BinNode *Position;typ...

2020-03-29 16:31:49 202

原创 二叉堆例程

binHeap.h:#ifndef _BinHeap_Hstruct HeapStruct;typedef struct HeapStruct *PriorityQueue;typedef int ElementType;PriorityQueue Initialize(int MaxElements);void Destroy(PriorityQueue H);void Ma...

2020-03-27 10:56:37 295 5

原创 二叉堆的上滤和下滤

PriorityQueue UpFilter(int P, PriorityQueue H){ /*從P處開始上濾*/ /*如果父節點大於子節點*/ /*那麼父節點下移*/ int i; ElementType tmp; tmp = H->Elements[P]; for (i = P; H->Elements[i / 2] ...

2020-03-25 21:22:57 462

原创 用散列表合并两个多项式乘积的同类项

/*该程序利用散列的方式将两个稀疏多项式相乘后合并同类项*//*散列表的建立使用了分离链接法*/#include <stdio.h>#include <stdlib.h>#define HASHMODULUS 11 //散列函數的模數/*多项式的例程*/typedef struct Node *polynomial;typedef struct Node *...

2020-03-21 13:10:41 339

原创 执行双旋转的高效函数

//改程序是执行双旋转的函数,其效率超过执行两个单旋转#include <stdio.h>#include <stdlib.h>#include "AvlT.h"static Position doubleRotationWithLeft(Position K3);static Position doubleRotationWithLeft(Position K3...

2020-03-15 16:19:02 204

原创 AVL树例程

AvlT.h#ifndef _AvlT_Hstruct AvlNode;typedef struct AvlNode *Position;typedef struct AvlNode *AvlTree;typedef int ElementType;AvlTree MakeEmpty(AvlTree T);Position Find(ElementType X, AvlTree ...

2020-03-14 18:30:59 218

原创 树的类似链表游标实现方式

CursorBSt.h//该程序是二分查找树的链表游标的实现方式#ifndef _CursorBST_Htypedef int PtrToNode;typedef PtrToNode SearchTree;typedef PtrToNode Position;void InitializeCursorSpace(void);SearchTree MakeEmpty(Search...

2020-03-14 09:23:47 189

原创 一个数组实现两个栈的例程

//该程序仅用一个数组而实现两个栈的例程。//除非数组的每一个单元都被使用//否则你的栈例程不能有溢出声明#include <stdio.h>#include <stdlib.h>#define MinStackSize (5)typedef struct Node *dbstack; //双栈dbstack CreatStack(int Ma...

2020-03-11 11:56:17 1610

原创 该程序是一个非递归过程以O(N)时间反转单链表

大佬的算法 List ReverseList( List L ){ Position CurrentPos, NextPos, PreviousPos; PreviousPos = NULL; CurrentPos= L; NextPos= L->Next; while( NextPos != NULL ) { Curren...

2020-03-10 13:24:08 561

原创 多项式乘法O(M平方*N)

我的算法让我想到了“寄生虫”(难道是因为前不久看了这部剧?)#include <stdio.h>#include <stdlib.h>#define MAX 100typedef struct Node *PtrToNode;typedef PtrToNode Header;typedef PtrToNode FirstNode;typedef PtrTo...

2020-03-09 12:00:13 222

原创 多项式乘法O(M平方乘于N平方)

#include <stdio.h>#include <stdio.h>typedef struct Node *PtrToNode;typedef PtrToNode Header;typedef PtrToNode FirstNode;typedef PtrToNode Polynomial;void MultPolynomial(const Polyno...

2020-03-09 10:03:06 433

原创 生成前N个自然数的一个随机置换(3个算法)

#include <stdio.h>#include <stdlib.h>#include <time.h>int RandInt(int a, int b);int main(){ int N; int i; int ii; int a; int b; int duplicates = 0; //判...

2020-03-05 16:31:52 732

原创 问题13.11

试对图3-23所示的“Emai地址验证”程序儆出修改,新的合法性验证要求,在E-mail地址宇符串中,符号@前、符号@和.之间、符号.之后,至少存在一个字母。满足这种要求的Emal地址,才认为是合法的。#include <stdio.h>#define FAlSE 0#define TRUE 1int main(){ char nextChar; ch...

2020-02-20 13:24:17 128

原创 根据SICP,对用C交换两个数值的新思考

一开始我的代码是这样写的思路就是:如果a>b,则b一路加到a, i=a-b,然后a=a-i=b;a<b同理#include <stdio.h>void Swap(int *, int *);int main(){ int x; int y; printf("Input the value of x: "); scanf("...

2020-02-20 11:10:51 154

原创 修改的毕达哥拉斯三角形代码

#include <stdio.h>int Squared(int x);int main(){ int sideA; int sideB; int sideC; int maxC; printf("Enter the maxium length of hypotenuse: "); scanf("%d", &max...

2020-02-18 12:07:07 280

原创 计算机系统概论问题10.9

c. 4! = 24考虑不会出现的pop情况假设W先popwz __,wy __这两种不会发生,即4种假设X先pop有两种情况:X POP之后,W Push 进,那么xy__,xz__这两种情况不会发生,即4种x POP之后, W 不Push进,那么xz__这种情况不会发生,即2种因此,总输出流形式有: 24-4-4-2=14种...

2020-02-16 14:53:13 189

原创 《计算机系统概论》p183的思考题

我的思路就是:做个子程序A 替换查找表的操作累加R7直到指定的数值再累加到R0

2020-02-15 20:28:51 217

原创 在LC- 3中,机器码实现右移一位

将x3100内存单元的内容右移一位我的思路是:一个十进制的数,如果是偶数,将它除于2再转换为十六进制就是它又移一位的结果;如果是奇数就减1再除于2如果最后一位是1就是奇数,否则就是偶数一位LC-3的ISA中没有除法,R2初始化为0,将它乘于2(即R2+R2),如果结果等于X3100的内容,那么R2就是我们要的结果;如果不是,将R2再加1重复前面的操作下面是我的答案:...

2020-02-10 16:59:44 1953 4

原创 比较器逻辑实现

开始啃《计算机系统概论》,补充下计算机基础知识如图,A > B,G = 1; A = B, E = 1; A < B, L = 1应该是这样吧:

2020-02-07 15:08:38 1041

原创 八皇后问题

valid_queen((Row, Col)) :- Range = [1,2,3,4,5,6,7,8], member(Row, Range), member(Col, Range).valid_board([]).valid_board([Head|Tail]) :- valid_board(Head), valid_board(Tail).rows([],[])....

2020-02-03 15:11:00 159

原创 奈何本人没文化,一句卧槽行天下

解决一个4X4的数独valid([]).valid([Head|Tail]) :- fd_all_different(Head), valid(Tail).sudoku(Puzzle, Solution) :- Solution = Puzzle, Puzzle = [S11, S12, S13, S14, ...

2020-02-03 14:36:04 612

原创 逻辑学的知识全部退给老师了

刚刚上个月初考了逻辑学,用Prolog还是一脸懵,更何况我还学习了离散数学的知识...Q: 翻转一个列表中的元素次序。只要证明第二个列表的Tail等于第一个列表的Head就行了吧(十分没有底...)reverse([Head1|Tail1], [Head2|Tail2]) :- Tail2 is Head1. 卧槽!可是...我都不知道Prolog是怎么得出结果的? 无法解...

2020-02-03 12:00:03 175

原创 初次适用prolog

# writer(A, B) A是书B的作者writer('Kenneth', 'C').writer('Brice A.Tate', 'Seven').writer('Harold Abelson Gerald', 'SICP').writer('BobDay', 'a').writer('BobDay', 'b').# musician(A, B). A会弹奏Bmusician...

2020-02-02 14:52:18 257

原创 魔...魔法?

美国5个州的拼色问题

2020-02-02 11:41:42 189

原创 Prolog基本知识

和SQL一样,Prolog基于数据库,但是其数据有逻辑规则和关系组成。在Prolog中,数据以逻辑规则的形式存在,下面是基本构造单元。事实。事实是关于真实世界的基本语言。(Babe是一头猪,猪喜欢泥巴。)规则。规则是关于真实世界中一些事实的推论。(如果一个动物是猪,那么它喜欢泥巴。)查询。查询是关于真实世界的一个问题。(Babe喜欢泥巴吗?)事实和规则被放入一个知识库(knowled...

2020-02-02 10:09:55 1025

原创 协程

vizzini := Object clonevizzini talk := method( "Fezzik, are there tocks ahead?" println yield // 自动挂起当前进程, 并把控制权转到另一进程当中 "No more rhymes now, I mean it." println ...

2020-02-01 21:09:06 110

原创 Io的method_mission

当你把消息发送给对象的时候,对象将完成下列事情:1.计算所有参数,这些参数其实就是消息;2.获取消息的名称,目标和发送者;3.尝试用目标上的消息名称读取槽;3.如果槽存在,返回其数据或触发其包含的方法;4.如果槽不存在,则把消息转发给它的方法。用Io代码来表示XML数据即将 <body> <p> This is a simple par...

2020-02-01 18:57:25 182

原创 DSL

// 电话号码的形式 -- 在文件phonebook.txt中{ "Bob Smith" : "5195551212", "Mary Walsh" : "4162223434"}// 把列表代碼解釋為Io散列表的形式OperatorTable addAssignOperator(":", "atPutNumber")curlyBrackets := method( //...

2020-02-01 18:24:27 193

原创 计算列表所有数字的平均值

List myAverage := method( if(self isNotEmpty, testType(self), 0) )testType := method( list, if(list select(type == "Number") == list, list average, Exception raise( "Exception...

2020-02-01 15:03:19 3387

原创 求和二维数组

这家伙连局部作用域都没有,摸索了好久不过Io这个基于原型的语言,确实在了解Io之后,我对JavaScript运行机制的理解多了一点我一开始的代码y := 0sumArr := method( Arr, if(Arr at(0) type == "List", sumArrsub(Arr), Arr sum) )sumArrsub := method( ...

2020-02-01 12:17:38 426

原创 分母为零处理(待解决)

这个,我是真不会Number / := method(denominator, if(denominator == 0, 0, Number / denominator))我的遇到的问题有两个:后面的Number是0,不是前面的那个number我这个代码已经变成了递归,没有基准条件,因此是个死循环...

2020-02-01 10:03:08 4048

原创 迭代/递归 Io语言写个斐波拉契

**初次用Io写斐波拉契搞了我一下午,我 TM 终于知道Io的“消息"怎么用的了Io文档什么都没讲,气!先上js代码:// 迭代function fib0(n){ var first = 1; second = 1; third = first + second, count = 3; if(n < 2)...

2020-01-31 16:26:17 141

原创 lambda终结者

;(define rember-f ; (lambda(test? a l) ; (cond ; ((null? l)(quote())) ; (else(cond ; ((test?(car l)a)(cdr l)) ; (else(cons(car l) ; (rember...

2020-01-03 16:00:18 177 1

原创 朋友及关系

(define set? (lambda(lat) (cond ((null? lat)#t) ((member?(car lat)(cdr lat)) #f) (else(set?(cdr lat))))))(define multirember (lambda(a lat) (cond ...

2020-01-02 19:49:47 144

原创 如影随形 魔法禁忌

(define numbered? (lambda (aexp) (cond ((atom? aexp)(number? aexp)) ((eq?(car(cdr aexp))(quote +)) (and(numbered?(car aexp)) (numbered? (car(cdr(cdr aex...

2020-01-01 22:43:42 298

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除