Skip to content

Commit 9a01e3a

Browse files
committed
fixed algorithm
1 parent ee2f3d1 commit 9a01e3a

File tree

8 files changed

+206
-426
lines changed

8 files changed

+206
-426
lines changed

models/table.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,7 @@ export default class InputTable extends Component {
763763
marginBottom: 10,
764764
}}
765765
>
766-
<Text style={{ fontSize: 18, fontWeight: "bold" }}>Time Quantam :</Text>
766+
<Text style={{ fontSize: 18, fontWeight: "bold" }}>Time Quantum:</Text>
767767
<TextInput
768768
editable={true}
769769
placeholder={this.state.time_Quantam.toString()}

screens/ljf.js

Lines changed: 11 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -24,48 +24,39 @@ export default class Ljf extends InputTable {
2424
}
2525
console.log(tuple);
2626
// var tuple = [
27-
// { pid: 1, bt1: 6, art: 0, io: 10, bt2: 4 },
28-
// { pid: 2, bt1: 9, art: 0, io: 15, bt2: 6 },
29-
// { pid: 3, bt1: 3, art: 0, io: 5, bt2: 2 },
27+
// {pid:1,bt1:6,art:0,io:10,bt2:4},
28+
// {pid:2,bt1:9,art:0,io:15,bt2:6},
29+
// {pid:3,bt1:3,art:0,io:5,bt2:2},
3030
// ];
3131
var total_bt = [];
3232
var artt = [];
3333
var total_btt = [];
34+
var n = tuple.length;
3435
for (var i = 0; i < tuple.length; i++) {
3536
total_bt[i] = tuple[i].bt1 + tuple[i].io + tuple[i].bt2;
3637
total_btt[i] = total_bt[i] - tuple[i].io;
3738
artt[i] = tuple[i].art;
38-
// console.log(total_bt[i]);
3939
}
4040
var tuple_temp = tuple;
4141
tuple.sort(function (a, b) {
4242
return a.art - b.art;
4343
});
4444
tuple.sort();
45-
46-
var n = tuple.length;
4745
var wt = [];
4846
var tat = [];
4947
var total_wt = 0;
5048
var total_tat = 0;
51-
var rt = [];
52-
for (var i = 0; i < n; i++) {
53-
rt.push(tuple[i].bt);
54-
}
55-
5649
var final_ans = [];
5750
var visited = [];
5851
for (var i = 0; i < tuple.length; i++) {
5952
visited[i] = 0;
6053
}
61-
6254
var que = [];
6355
var btco = [];
6456
for (var i = 0; i < n; i++) {
6557
btco[i] = 0;
6658
}
67-
68-
for (var i = 0; i < 50; i++) {
59+
for (var i = 0; i < 10000; i++) {
6960
for (var j = 0; j < n; j++) {
7061
if (total_bt[i] <= 0) {
7162
visited[i] = 1;
@@ -81,19 +72,16 @@ export default class Ljf extends InputTable {
8172
}
8273
}
8374
}
84-
8575
if (state == -1) {
8676
final_ans.push("/");
8777
var smit = [];
8878
que.push(smit);
8979
} else {
9080
if (btco[state] === 0) {
91-
// if(i==3){console.log("fuck1");}
9281
for (var j = 0; j < tuple[state].bt1; j++) {
9382
final_ans.push(tuple[state].pid);
9483
}
9584
tuple[state].art = i + tuple[state].bt1 + tuple[state].io;
96-
// console.log(state + " " + tuple[state].art);
9785
for (var g = i; g < i + tuple[state].bt1 - 1; g++) {
9886
var smit = [];
9987
for (var y = 0; y < n; y++) {
@@ -104,11 +92,9 @@ export default class Ljf extends InputTable {
10492
que.push(smit);
10593
}
10694
i += tuple[state].bt1 - 1;
107-
10895
btco[state] = 1;
10996
total_bt[state] -= tuple[state].bt1 + tuple[state].io;
11097
} else {
111-
// if(i==3){console.log("fuck2");}
11298
for (var j = 0; j < tuple[state].bt2; j++) {
11399
final_ans.push(tuple[state].pid);
114100
}
@@ -123,20 +109,15 @@ export default class Ljf extends InputTable {
123109
}
124110
i += tuple[state].bt2 - 1;
125111
total_bt[state] = 0;
126-
tuple[state].art = 100;
112+
tuple[state].art = 10000;
127113
}
128114
}
129115
}
130-
console.log(que.length);
131-
// for (var i = 0; i < 50; i++) {
132-
// console.log(i + " " + final_ans[i]);
133-
// }
134116
var cmp_time = [];
135117
for (var i = 0; i < tuple.length; i++) {
136118
cmp_time[i] = -1;
137119
}
138120
for (var i = final_ans.length - 1; i >= 0; i--) {
139-
// console.log(final_ans[i]);
140121
if (final_ans[i] === "/") {
141122
} else {
142123
if (cmp_time[final_ans[i] - 1] == -1) {
@@ -149,14 +130,13 @@ export default class Ljf extends InputTable {
149130

150131
for (var i = 0; i < n; i++) {
151132
tat[i] = cmp_time[i] - artt[i];
152-
153133
wt[i] = tat[i] - total_btt[i];
154134
}
155135
for (var i = 0; i < n; i++) {
156136
total_wt = total_wt + wt[i];
157137
total_tat = total_tat + tat[i];
158138
}
159-
139+
console.log(total_wt / n + " " + total_tat / n);
160140
// Changing Pid into string in final answer array
161141
for (var i = 0; i < final_ans.length; i++) {
162142
if (final_ans[i] != "/") {
@@ -208,50 +188,38 @@ export default class Ljf extends InputTable {
208188
}
209189
console.log(tuple);
210190
// var tuple = [
211-
// { pid: 1, bt: 2, art: 1 },
212-
// { pid: 2, bt: 5, art: 6 },
213-
// { pid: 3, bt: 3, art: 4 },
191+
// {pid:1,bt:2,art:1},
192+
// {pid:2,bt:5,art:6},
193+
// {pid:3,bt:3,art:4},
214194
// ];
215195
var n = tuple.length;
216196
var total_btt = [];
217197
var artt = [];
218198
for (var i = 0; i < n; i++) {
219199
total_btt[i] = tuple[i].bt;
220-
}
221-
for (var i = 0; i < n; i++) {
222-
console.log(tuple[i].art);
223200
artt[i] = tuple[i].art;
224201
}
225-
226202
var tuple_temp = tuple;
227203
tuple.sort(function (a, b) {
228204
return a.art - b.art;
229205
});
230206
tuple.sort();
231-
232207
var n = tuple.length;
233208
var wt = [];
234209
var tat = [];
235210
var total_wt = 0;
236211
var total_tat = 0;
237-
var rt = [];
238-
for (var i = 0; i < n; i++) {
239-
rt.push(tuple[i].bt);
240-
}
241-
242212
var final_ans = [];
243213
var visited = [];
244214
for (var i = 0; i < tuple.length; i++) {
245215
visited[i] = 0;
246216
}
247-
248217
var que = [];
249218
var btco = [];
250219
for (var i = 0; i < n; i++) {
251220
btco[i] = 0;
252221
}
253-
254-
for (var i = 0; i < 50; i++) {
222+
for (var i = 0; i < 10000; i++) {
255223
for (var j = 0; j < n; j++) {
256224
if (tuple[j].bt <= 0) {
257225
visited[j] = 1;
@@ -267,19 +235,14 @@ export default class Ljf extends InputTable {
267235
}
268236
}
269237
}
270-
// console.log("i "+i);
271-
272-
// console.log(i+" sasd " +state);
273238
if (state == -1) {
274239
final_ans.push("/");
275240
var smit = [];
276241
que.push(smit);
277242
} else {
278-
// console.log("a");
279243
for (var j = 0; j < tuple[state].bt; j++) {
280244
final_ans.push(tuple[state].pid);
281245
}
282-
283246
for (var g = i; g < i + tuple[state].bt; g++) {
284247
var smit = [];
285248
for (var y = 0; y < n; y++) {
@@ -289,7 +252,6 @@ export default class Ljf extends InputTable {
289252
}
290253
que.push(smit);
291254
}
292-
293255
i += tuple[state].bt - 1;
294256
tuple[state].bt = 0;
295257
}
@@ -303,28 +265,21 @@ export default class Ljf extends InputTable {
303265
cmp_time[i] = -1;
304266
}
305267
for (var i = final_ans.length - 1; i >= 0; i--) {
306-
// console.log(final_ans[i]);
307268
if (final_ans[i] === "/") {
308269
} else {
309270
if (cmp_time[final_ans[i] - 1] == -1) {
310271
cmp_time[final_ans[i] - 1] = i + 1;
311272
}
312273
}
313274
}
314-
315-
var wt = [];
316-
317275
for (var i = 0; i < n; i++) {
318-
console.log(cmp_time[i] + " " + artt[i]);
319276
tat[i] = cmp_time[i] - artt[i];
320-
321277
wt[i] = tat[i] - total_btt[i];
322278
}
323279
for (var i = 0; i < n; i++) {
324280
total_wt = total_wt + wt[i];
325281
total_tat = total_tat + tat[i];
326282
}
327-
// console.log(total_wt/n + " " + total_tat/n);
328283
// Changing Pid into string in final answer array
329284
for (var i = 0; i < final_ans.length; i++) {
330285
if (final_ans[i] != "/") {
@@ -338,11 +293,6 @@ export default class Ljf extends InputTable {
338293
final_ans.pop();
339294
}
340295
console.log(total_wt / n + " " + total_tat / n);
341-
console.log(que);
342-
// var que = [];
343-
// for (let i = 0; i < 50; i++) {
344-
// que.push(["-Dummy"]);
345-
// }
346296
newState.queueAnimationArray = que;
347297
newState.tatarr = tat;
348298
newState.waitingarr = wt;

0 commit comments

Comments
 (0)